Author |
Message |
21.05.2014 18:41:52
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Станислав Жириков:
unsigned __bits(6) N =10;
unsigned __bits(12) SUMMA;
main(){
int cnt = 0;
for(int i = 0; i<N ; i++){
i++;
cnt+=i;
SUMMA = cnt;
}
Случайно забыл закрыть цикл FOR
Как ни странно с открытой скобкой всё работает, неприавильно конечно но работает.
Перезапустил WINTER ничего не изменилось
У меня компилятор выдает "syntax error".
|
21.05.2014 18:45:42
Subject: Re:Вопросы по C-MPA
|
Stanislav Zhirikov
Topics: 0
Messages: 67
My Profile
|
Станислав Жириков:
unsigned __bits(6) N =10;
unsigned __bits(12) SUMMA;
main(){
int cnt = 0;
for(int i = 0; i<N ; i++){
i++;
cnt+=i;
SUMMA = cnt;
}
Случайно забыл закрыть цикл FOR
Как ни странно с открытой скобкой всё работает, неправильно конечно но работает.
Перезапустил WINTER ничего не изменилось
запустил тот же код на домашнем, сначала пошаговое (F8) не выполнялось, после перезагрузки тоже самое.
но когда доставил нужную скобку и удалил опять заработало.
возможно какие-то баги были в 27ой школе из-за старшей версии WINTER'а.
|
23.05.2014 11:54:00
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47294
My Profile
|
Игорь Коршунов:
Станислав Жириков:
unsigned __bits(8) a;
unsigned __bits(8) b;
unsigned __bits(8) x;
unsigned __bits(8) y;
unsigned __bits(8) res;
main(){
if(b-a>0){
int tmp1 = 0,tmp2 = 0;
for(int i = 0; i<a ; i++){
tmp1 +=a+b;
}
for(int i = 0; i<b ; i++){
tmp2 +=b-a;
}
res = x*tmp1 + y*tmp2;
}
else{
res = x(a+b) + y*(a-b);
}
}
Индивидуальные задания
http://dl.gsu.by/task.jsp?nid=1243227&cid=905
Текс ошибки : [Ошибка] src.mpc(14): Перменная уже определена i.
Хотя обе переменные определены внутри FOR и конфликта не должно было возникакать
У нас переменная объявленная в заголовке for считается объявленной до конца блока содержащего for, а не только внутри тела цикла.
А как по стандарту С?
Трудно ли сделать чтобы у нас было по стандарту?
|
26.09.2014 11:53:56
Subject: Re:Вопросы по C-MPA
|
Anna Grekova
Topics: 0
Messages: 72
My Profile
|
26.9 11:52 2. Вакхабит 0 / 100 В этой задаче можно сдавать только сгенерированные МПА-проекты PT.prd DelTA3 at Nit3 HLCCAD project
Сдаю сгенерированный проект.
|
13.10.2014 15:22:18
Subject: Re:Вопросы по C-MPA
|
Yaroslav Byshik
Topics: 10
Messages: 62
My Profile
|
Командные олимпиады\Особенности архитектуры МП Intel 80386 \Проектирование\7 - "BSF и BSR (микропрограммно)" 135522 Кацубо Вячеслав, ПМ-41, март 2012
http://dl.gsu.by/task.jsp?nid=1290483&cid=926
#define i1 unsigned __in __bits(16)
#define o1 unsigned __out __bits(16)
#define o2 unsigned __out __bits(1)
i1 Oper2;
o1 Oper1;
o2 ZF;
void main() {
unsigned short u = Oper2;
unsigned short a = 0;
if (u == 0)
ZF = 1;
else {
ZF = 0;
for (; (u&1) == 0; a++) {
u >>= 1;
}
a = (a << 1) - 1;
for (; u != 0; a++) {
u >>= 1;
}
}
Oper1 = a;
}
Слетает по времени!
|
17.10.2014 09:23:12
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Ярослав Бышик:
Командные олимпиады\Особенности архитектуры МП Intel 80386 \Проектирование\7 - "BSF и BSR (микропрограммно)" 135522 Кацубо Вячеслав, ПМ-41, март 2012
http://dl.gsu.by/task.jsp?nid=1290483&cid=926
#define i1 unsigned __in __bits(16)
#define o1 unsigned __out __bits(16)
#define o2 unsigned __out __bits(1)
i1 Oper2;
o1 Oper1;
o2 ZF;
void main() {
unsigned short u = Oper2;
unsigned short a = 0;
if (u == 0)
ZF = 1;
else {
ZF = 0;
for (; (u&1) == 0; a++) {
u >>= 1;
}
a = (a << 1) - 1;
for (; u != 0; a++) {
u >>= 1;
}
}
Oper1 = a;
}
Слетает по времени!
Задержки времени увеличены, но сдавалась схема сгенерированная по другой программе:
#define i1 unsigned __in __bits(16)
#define o1 unsigned __out __bits(16)
#define o2 unsigned __out __bits(1)
i1 Oper2;
o1 Oper1;
o2 ZF;
void main() {
unsigned u = Oper2;
unsigned a = 0;
unsigned b = 0;
if (u == 0)
ZF = 1;
else {
ZF = 0;
while ((u&1) == 0) {
u >>= 1;
a++;
}
b = a;
while (u != 0) {
u >>= 1;
b++;
}
}
Oper1 = a + b - 1;
}
|
17.10.2014 09:35:36
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Анна Грекова:
26.9 11:52 2. Вакхабит 0 / 100 В этой задаче можно сдавать только сгенерированные МПА-проекты PT.prd DelTA3 at Nit3 HLCCAD project
Сдаю сгенерированный проект.
На тестирование отсылался пустой проект.
|
24.11.2014 08:10:19
Subject: Re:Вопросы по C-MPA
|
Stanislav Sviridov
Topics: 8
Messages: 85
My Profile
|
Проблема с модулем от деление. -12 % -6 = -12, что не верно
Задача: http://dl.gsu.by/task.jsp?nid=1284361&cid=926
#define i1 int __in __bits(32)
#define o1 int __out __bits(16)
#define o2 unsigned __out __bits(1)
i1 N;
i1 D;
o1 Q;
o1 R;
o2 E;
void main() {
if (D == 0) {
E = 1;
} else {
E = 0;
Q = N / D;
R = N % D;
}
}
|
25.11.2014 00:07:12
Subject: Re:Вопросы по C-MPA
|
Yaroslav Byshik
Topics: 10
Messages: 62
My Profile
|
Проблема с отрицанием:
i1 int __in __bits(8) a;
...
int A = -a;
При а = 0, в А занесётся -256, что не совсем верно))
|
25.11.2014 00:19:34
Subject: Re:Вопросы по C-MPA
|
Yaroslav Byshik
Topics: 10
Messages: 62
My Profile
|
Проблема с постинкрементом:
int a[3] = {0, 1, 2};
void main() {
int k = 0;
a[k++] = 17;
}
Рассмотрим массив "а":
CMPA C (GCC)
0 17
17 1
2 2
|
28.11.2014 11:26:30
Subject: Re:Вопросы по C-MPA
|
Roman Kreyza
Topics: 0
Messages: 32
My Profile
|
unsuported node types
char __bits(8) in_str[10];
char __bits(8) out_str[20];
void main(){
int i=0,j=0,len=0;
char r[10];
while (in_str[i]!='#')
i++;
len=i;
for ( i=len;i>0;i-- ){
r[j]=in_str[i];
j++;
}
out_str=r+in_str+"#";
}
|
28.11.2014 11:43:02
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Роман Крейза:
unsuported node types
char __bits(8) in_str[10];
char __bits(8) out_str[20];
void main(){
int i=0,j=0,len=0;
char r[10];
while (in_str[i]!='#')
i++;
len=i;
for ( i=len;i>0;i-- ){
r[j]=in_str[i];
j++;
}
out_str=r+in_str+"#";
}
Нельзя складывать указатели на строки. Для соединения строк можно написать функцию посимвольного копирования.
|
28.11.2014 12:18:40
Subject: Re:Вопросы по C-MPA
|
Mihail Dolinskiy
Topics: 1985
Messages: 47294
My Profile
|
Станислав Свиридов:
Проект сгенерируемый по коду решения задачи http://dl.gsu.by/task.jsp?nid=1281420&cid=926
не проходит http://dl.gsu.by/task.jsp?nid=1281425&cid=926
#define ui1 unsigned __in __bits(8)
#define ui2 unsigned __in __bits(3)
#define uo1 unsigned __out __bits(8)
#define uo2 unsigned __out __bits(1)
#define i1 int __in __bits(4)
#define o1 int __out __bits(8)
ui1 x;
uo1 y;
void main() {
int ans = 0, t = x << 1;
for(int i = 5; i < 9; i++)
ans = (ans << 1) | (t & (1 << i)) >> i;
for(i = 1; i < 5; i++)
ans = (ans << 1) | (t & (1 << i)) >> i;
y = ans;
}
|
05.12.2014 09:10:16
Subject: Re:Вопросы по C-MPA
|
Igor Korshunov
Topics: 7
Messages: 2186
My Profile
|
Михаил Долинский:
Станислав Свиридов:
Проект сгенерируемый по коду решения задачи http://dl.gsu.by/task.jsp?nid=1281420&cid=926
не проходит http://dl.gsu.by/task.jsp?nid=1281425&cid=926
Увеличены задержки в тестах, решения перетестированы.
|
20.12.2014 13:02:21
Subject: Re:Вопросы по C-MPA
|
Dmitriy Shakin
Topics: 1
Messages: 43
My Profile
|
Контрольные срезы\26 декабря\Программирование\Обработка строк (простая)\8 - "Максимальная последовательность символов" 10.05.2006 43957 Авсиевич Д., ПОИТ-12 , май 2006
http://dl.gsu.by/task.jsp?nid=1294136&cid=926
20.12 13:00 8. Максимальная последовательность символов 0 / 300 [TEST2]: Тест не прошел: res dec[2]: 9. src.mpc DelTA3 at DLServer Winter mpc
Моя программа на локальной машине дает правильный ответ 9
char A[90];
unsigned __out __bits(16) res;
void main()
{
int i;
int z;
int x=0;
int max=0;
if (A[0]=='#') res=0;
else
{
for (i=0;A[i]!='#';i++)
x++;
for (i=0;i<x-1;i++)
{
if (A[i]==A[i+1])
{
z++;
if (max<z)max=z;
}
else
{
if (max<z) max=z;
z=0;
}
}
if (max>1)
{
max++;
res=max;
}
else res=1;
}
}
|
|