Author |
Message |
03.05.2013 14:29:20
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
Игорь Коршунов:
Сейчас выдается: "слишком много инициализаторов".
Для случая со строкой, наверное, не всем понятно.
А есть еще варианты "много инициализаторов"?
Если да - то попытаться точнее все диагностировать,
если нет - это сообщение понятней написать.
|
03.05.2013 14:31:04
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Михаил Долинский:
попытаться точнее все диагностировать
ОК
|
03.05.2013 14:34:34
Subject: Re:Вопросы по C-MPA
|
Nikita Lobanov
Topics: 0
Messages: 60
My Profile
|
Игорь Коршунов:
Никита Лобанов:
получил на этой строчке - ошибка синтаксиса
char s[5]= "*-/+=";
В чём ошибка?
Строка занимает 6 байт (в Си в конце строки всегда ставится нулевой байт) и не может быть записана в массив из 5 байт.
Это все конешно хорошо,но я не понял ,так как правильно записать эту строку?
|
03.05.2013 14:41:21
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
Наверно написать S[6] хотя бы.
Уточни устно у Игоря Викторовича сейчас
|
03.05.2013 15:18:55
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Правильно так:
char s[]= "*-/+=";
или так:
char s[6]= "*-/+=";
|
14.05.2013 11:02:34
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
Игорь Коршунов:
Иван Стародубцев:
Столкнулся со странной проблемой при решении задачи
Экзамен\Контроль практики\Программирование\10\8 - "Перебор" 41307
Если запускать тестирование, то не проходит ни один тест. Однако, если тестировать решение вручную, то тесты проходят (например, на первом тесте возвращает правильный ответ: 18).
Решение такое:
int x[10];
unsigned __out __bits(8) res;
void main()
{
int p = 0, n = 0;
for (int i=0; i<10; i++){
if (x[i] >= 0){
p += x[i];
}
else {
n -= x[i];
}
}
int r = 0;
r = p/n;
res = p - r*n;
}
Не подскажите в чем здесь проблема?
По условию элементы массива байтовые, т.е.
int __bits(8) x[10];
|
23.05.2013 19:57:49
Subject: Re:Вопросы по C-MPA
|
Maksim Shurpo
Topics: 0
Messages: 75
My Profile
|
задача http://dl.gsu.by/task.jsp?nid=1126378&cid=860
не работает программа.
unsigned __in __bits(4) x ;
unsigned __out __bits(4) y;
void main(){
unsigned __bits(1) b;
int __bits(8) k1 = 0;
int __bits(8) k0 = 0;
y = 0;
for(int i = 0; i<4; i++){
b = x>>i;
if(b == 0 ){
k0++;
}else{
k1++;
}
}
for(i = 0; i<k1; i++){
b = 1;
y|=b<<i;
}
for(i = k1; i < 4; i++){
b=0;
y|=b<<i;
}
}
|
24.05.2013 08:48:31
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
А такую ошибку (использован тип INT вместо UNSIGNED)
http://dl.gsu.by/NForum/posts/topicshow/1792.dl?postid=46192#46192
мы сможем автоматически контролировать и выдавать адекватное сообщение в рамках проверки на соответствие имен переменных и размеров?
|
24.05.2013 09:21:39
Subject: Re:Вопросы по C-MPA
|
Maksim Shurpo
Topics: 0
Messages: 75
My Profile
|
Я решил данную задачу оптимизируя свой код. Не надо было подсчитывать количество 0 и 1, а потом их записывать по очереди в конец или в начало. сделал всё через while где я сразу данный бит записываю на определённую позицию. Решение:
unsigned __in __bits(4) X;
unsigned __out __bits(4) Y;
void main(){
unsigned __bits(1) b;
int __bits(8) k1 = 3;
int __bits(8) k0 = 0;
int __bits(8) i = 0;
int __bits(4) g = 0;
while(i<4){
b = X>>i;
if(b == 1 ){
g|=b<<k0;
k0++;
}else{
g|=b<<k1;
k1--;
}
i++;
}
Y= g;
}
|
24.05.2013 09:29:34
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
"Решение проходит в Winter-е, но не проходит в HLCCAD":
1. Возьмите тесты из HLCCAD и подключите в Winter - прогоните программу на них.
У нас ведь все еще не работает это? (хотя конвертор тестов HLCCAD-Winter уже давно есть).
А когда заработает?
|
29.05.2013 11:21:47
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
Рекурсивные функции у нас не поддерживаются?
1) Можно ли выдавать соответствующее сообщение на стадии компиляции?
2) Можно ли поддержать выполнение рекурсивных функций, но выдавать ОШИБКУ СИНТЕЗА?
(или предупреждение, что это не синтезируемая конструкция)
P.S. Палканов (ПО-31) сегодня во время отработки пропуска написал рекурсивное решение, которое вычисляет
числа Фибоначчи - и задал мне вопрос, почему у него не работает.
|
31.05.2013 13:53:33
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
1. Давай добавим в ОГЛАВЛЕНИЕ вопросов по С-МПА
РЕКОМЕНДАЦИИ как избавляться от таких ошибок
2. По возможности ОПТИМИЗИРУЕМ синтез схем по таким программам
Чекер снят по абсолютному времени
31.05.2013 13:38:32 31.05.2013 13:41:25 Сапего Елена Архитектура вычислительных систем (М3/ПМ4) - 2013 6. Цифрал 0 Чекер снят по абсолютному времени (>159 sec) cyfral.prd DelTA3 at Nit_server
31.05.2013 13:28:00 31.05.2013 13:29:22 Шурпо Максим Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по абсолютному времени (>66 sec) pref.prd DelTA3 at NewIT
31.05.2013 13:22:07 31.05.2013 13:24:59 Шурпо Максим Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по абсолютному времени (>152 sec) pref.prd DelTA3 at Nit_server
30.05.2013 00:11:47 30.05.2013 00:13:04 Ганцовский Владислав Проектирование аппаратно-программных вычислительных средств - 2013 Сам-п21. Задача №21 0 Чекер снят по абсолютному времени (>9 sec) Arifm.prd DelTA3 at DLServer
26.04.2013 14:43:55 26.04.2013 14:46:48 Картавых Евгений Проектирование аппаратно-программных вычислительных средств - 2013 15. Jots 0 Чекер снят по абсолютному времени (>157 sec) jots.prd DelTA3 at Nit_server
Чекер снят по времени
31.05.2013 13:26:24 31.05.2013 13:26:46 Шурпо Максим Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>13 sec) pref.prd DelTA3 at DLServer
31.05.2013 13:24:15 31.05.2013 13:25:10 Шурпо Максим Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>48 sec) pref.prd DelTA3 at Nit4
29.03.2013 09:25:42 29.03.2013 11:37:35 Азарова Мария Архитектура вычислительных систем (М3/ПМ4) - 2013 2. Хоккей 0 Чекер снят по времени (>160 sec) Hockey.prd DelTA3 at Nit_server
29.03.2013 09:01:07 29.03.2013 09:01:30 Азарова Мария Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Старшая единица 0 Чекер снят по времени (>13 sec) Project.prd DelTA3 at DLServer
21.03.2013 20:38:11 21.03.2013 20:39:03 Салапура Василий Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>48 sec) pref.prd DelTA3 at Nit4
15.03.2013 15:50:40 15.03.2013 15:50:55 Воробей Валерий Проектирование аппаратно-программных вычислительных средств - 2013 8. Мультиплексор 256 -> 1 (из 32->1) 0 Чекер снят по времени (>13 sec) nina.prd DelTA3 at DLServer
15.03.2013 15:49:55 15.03.2013 15:50:10 Воробей Валерий Проектирование аппаратно-программных вычислительных средств - 2013 8. Мультиплексор 256 -> 1 (из 32->1) 0 Чекер снят по времени (>13 sec) nina.prd DelTA3 at DLServer
14.03.2013 20:47:12 15.03.2013 11:41:18 Сапего Елена Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>13 sec) pref.prd DelTA3 at DLServer
14.03.2013 20:46:00 14.03.2013 20:46:15 Сапего Елена Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>13 sec) pref.prd DelTA3 at DLServer
14.03.2013 20:44:00 14.03.2013 20:44:17 Сапего Елена Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>13 sec) pref.prd DelTA3 at DLServer
14.03.2013 20:43:24 14.03.2013 20:43:38 Сапего Елена Архитектура вычислительных систем (М3/ПМ4) - 2013 3. Преф 0 Чекер снят по времени (>13 sec) pref.prd DelTA3 at DLServer
15.02.2013 08:43:22 15.02.2013 08:44:33 Пацков Артём Архитектура вычислительных систем (М3/ПМ4) - 2013 2. Вакхабит 0 Чекер снят по времени (>69 sec) PT.prd
|
02.06.2013 19:07:34
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
Игорь Коршунов:
Максим Шурпо:
задача с памятью http://dl.gsu.by/task.jsp?nid=1127222&cid=860
unsigned __in __bits(4) x ;
unsigned __in __bits(4) y ;
unsigned __in __bits(4) z ;
unsigned __out __bits(5) res;
unsigned __bits(5) g;
void main(){
unsigned __bits(4) x1 = x;
unsigned __bits(4) y1 = y;
unsigned __bits(4) z1 = z;
unsigned __bits(5) g1 = g;
if(x1+y1 <z1){
g1 = z1+y1+z1;
res = g1;
}else if(x1+y1>z1){
res = g1;
}
else{
g1 = 0;
res = 0;
}
}
не проходят тесты. Имеется глобальная переменная.
Переменная g1 постоянно затирается значением из неинициализированной переменной g.
|
03.06.2013 15:13:18
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47287
My Profile
|
03.06.2013 15:10:10 03.06.2013 15:10:22 Стародубцев Иван, Щурок Илья Архитектура вычислительных систем (М3/ПМ4) - 2013 ОС. Размножение слова 0 Внутренняя ошибка WChecker: не удается открыть report.txt src.mpc DelTA3 at DLServer
Эксперименты студентов привели к тому что проблемная строка такая
char in_str[1000];
1000 на 100 заменить - и будет работать.
|
04.06.2013 16:33:22
Subject: Re:Вопросы по C-MPA
|
Maksim Shurpo
Topics: 0
Messages: 75
My Profile
|
Михаил Долинский:
Игорь Коршунов:
Максим Шурпо:
задача с памятью http://dl.gsu.by/task.jsp?nid=1127222&cid=860
unsigned __in __bits(4) x ;
unsigned __in __bits(4) y ;
unsigned __in __bits(4) z ;
unsigned __out __bits(5) res;
unsigned __bits(5) g;
void main(){
unsigned __bits(4) x1 = x;
unsigned __bits(4) y1 = y;
unsigned __bits(4) z1 = z;
unsigned __bits(5) g1 = g;
if(x1+y1 <z1){
g1 = z1+y1+z1;
res = g1;
}else if(x1+y1>z1){
res = g1;
}
else{
g1 = 0;
res = 0;
}
}
не проходят тесты. Имеется глобальная переменная.
Переменная g1 постоянно затирается значением из неинициализированной переменной g.
приведите пожалуйста этот код в такое состояние, чтобы он работал. Все варианты я перепробовал и у меня ничего не получается. хотелось бы узнать синтаксис написания задач на память.
|
|