Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2008, 14:49   #1
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
Вопрос C++ ошибка в коде. Непонимаю что не так

Здраствуйте !

Была программа написанная мной на Delphi: Дана матрица A(n,n). Найти сумму элементов нижнего треугольника включая диагональ. Программа работала правильно. Теперь мне нужно сделать её на C++ Builder. Вот код :

Код:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int rez,sum,i,j,l;
sum=0;
l=1;
i=-1;
j=-1;
while (l!=0) do
{

switch(l)
{
case 1: { if (i<n-1) { j=-1; i=i+1; l=2; } else l=0;
break;
}

case 2: { if (j<n-1) { j=j+1; l=3; } else l=1;
break;
}

case 3: { if (StrToInt(StringGrid1->Cells[i][j])<=0) l=4; else l=5;
break;
}

case 4: { Button1->Caption="Данные некорректны"; l=0;
break;
}

case 5: { if (j>=i) l=6; else l=2;
break;
}

case 6: { sum=sum+StrToInt(StringGrid1->Cells[i][j]);
Button1->Caption=IntToStr(sum); l=2;
break;
}

}
}
}
Так вот, при компиляции программы появляется ошибка: E2308 do statement must have while.

C++ я знаю крайне плохо, и за конструкцией каждого оператора лазил в инэт. А тут незнаю что хочет программа. Пожалуйста подскажите..

Последний раз редактировалось POPOV; 04.09.2008 в 18:04.
POPOV вне форума Ответить с цитированием
Старый 04.09.2008, 17:38   #2
Olympian
Форумчанин
 
Аватар для Olympian
 
Регистрация: 06.06.2008
Сообщений: 105
По умолчанию

в С++, в отличие от Delphi и Pascal - оператор while не требует слова do.
т.е. пишется просто while (...)
а подобная ошибка изза другого оператора -
do
...
while (...)

Это оператор с пост проверкой.. Ваш код программа воспринимает как 1н цикл в другом, причем вложенный - не завершен
Olympian вне форума Ответить с цитированием
Старый 04.09.2008, 18:04   #3
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
По умолчанию

Огромное спасибо ! Вы мне очень помогли !!
POPOV вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AD (LDAP) - ошибка в коде, на рассмотрение Mouse123 Общие вопросы Delphi 3 30.06.2008 14:10
Ошибка в коде (BorderStyle) Airou Общие вопросы Delphi 10 24.05.2008 19:50
Ошибка в коде nikleb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2008 22:48
Непонимаю условие задачи.... Карась Помощь студентам 2 28.11.2007 17:41
Где ошибка в коде? Македонский Общие вопросы Delphi 16 10.09.2007 15:45