Другие языки программирования и технологии
Не компилируется программа, помогите исправить
program f; uses crt; var a,b,c,i:integer; procedure vvod; begin i:=1; while i<=5 do begin writeln (‘введите стороны треугольника'); i:=i+1; readln (a,b,c); end; end; procedure obrabotka; begin i:=1; while i<=5 do begin if (a=b)AND(a=c)AND(c=b) then writeln(i,'-ый треуг равносторонний') else if (a=b)OR(a=c)OR(c=b) then writeln(i,'-ый треуг равнобедреный') else writeln(i,'-ый треуг разносторонний'); i:=i+1; end; end; begin vvod; obrabotka; end.
Что-то из вашего диалога не понял, что можно использовать, а что нельзя. Где условие?
Можешь скинуть исходник (запаковать в архив) кинуть на почту и условие задачи, если хочешь, чтобы помог. Аа. . и еще пирожок на полку XD
обязательно использовать процедуры/функции? Если, что добавлю ответ в коммент, а то время на редактирование закончится скоро)
Вы считаете, что так "if (a=b)OR(a=c)OR(c=b) then writeln(i,'-ый треуг равнобедреный')" определяется равнобедренность?
Можешь скинуть исходник (запаковать в архив) кинуть на почту и условие задачи, если хочешь, чтобы помог. Аа. . и еще пирожок на полку XD
обязательно использовать процедуры/функции? Если, что добавлю ответ в коммент, а то время на редактирование закончится скоро)
Вы считаете, что так "if (a=b)OR(a=c)OR(c=b) then writeln(i,'-ый треуг равнобедреный')" определяется равнобедренность?
Начнем разбор полета.
Что вы хотите добиться этим?
i := 1;
while i<=5 do begin
writeln (‘введите стороны треугольника');
i:=i+1;
readln (a,b,c);
end;
Вы пять раз принимаете числа в одни и те же переменные. Аналогично и в обработке. Если уж надо выполнять проверку нескольких треугольников, то используйте массивы для хранения сторон. Тогда будет хоть какой смысл в циклах, которые вы организовали.
>> ну вообще нужно повторить цикл 5 раз
Если известно число повторений цикла, то лучше пользоваться циклом for. По-крайней мере не надо заботится об инкременте переменной цикла.
for i:=1 to 5 do begin
{а здесь операторы цикла}
end;
>> да массивы но в условии нужно использовать вайл
Так массивы или файл? И если файл, то зачем тогда вводить данные с клавиатуры? Обычно в файле передают исходные данные. Впрочем, даже не хочу гадать, т. к. не вижу корректной постановки задачи.
Что вы хотите добиться этим?
i := 1;
while i<=5 do begin
writeln (‘введите стороны треугольника');
i:=i+1;
readln (a,b,c);
end;
Вы пять раз принимаете числа в одни и те же переменные. Аналогично и в обработке. Если уж надо выполнять проверку нескольких треугольников, то используйте массивы для хранения сторон. Тогда будет хоть какой смысл в циклах, которые вы организовали.
>> ну вообще нужно повторить цикл 5 раз
Если известно число повторений цикла, то лучше пользоваться циклом for. По-крайней мере не надо заботится об инкременте переменной цикла.
for i:=1 to 5 do begin
{а здесь операторы цикла}
end;
>> да массивы но в условии нужно использовать вайл
Так массивы или файл? И если файл, то зачем тогда вводить данные с клавиатуры? Обычно в файле передают исходные данные. Впрочем, даже не хочу гадать, т. к. не вижу корректной постановки задачи.
Игорь Шумский
Геннадий, while ей нужен)) а не for
Похожие вопросы
- Помогите исправить ошибку в программе (c++).
- Помогите исправить программу
- Помогите исправить ошибку в коде программы, пожалуйста!
- Помогите исправить ошибку в программе на Си
- Помогите исправить ошибку в коде программы на паскале.
- не компилируется программа
- Пожалуйста, помогите исправить ошибки в программах на С++!
- помогите исправить ошибку в программе в Pascal
- Помогите исправить программу на pascal!
- Помогите найти ошибку в программе и исправить ее.
procedure tr(a,b,c,i:integer);
begin
if (a=b)AND(a=c)AND(c=b)and(a0) then writeln(i,'ravnostor')
else
if (a=b)and(ac)and(cb) then writeln(i,'rvnb')
else
if (ab)and(ac)and(cb) then writeln(i,'razns')
else if (a=0)and(b=0)and(c=0) then writeln('net');
end;
begin
I:=1;
while i
"if (a=b)AND(a=c)AND(c=b) then writeln(i,'-ый треуг равносторонний')
else
if (a=b)OR(a=c)OR(c=b) then writeln(i,'-ый треуг равнобедреный') "
Не кажется, что у тебя условия определяются не правильно?
Равнобедренный треугольник это треугольник с равными боковыми сторонами, в данном случае a и b боковые стороны, при этом оставшейся стороне не должны быть равны. Иначе получится равносторонний. И в данном случае OR не рационально