Предмет: Информатика, автор: baibek

Не получается компилировать программу на паскале
Выходит ошибка из-за else, пишет, что встречено else, а ожидался оператор.
Вот программа:

var s:='2'+'8'*99+'2';
begin
while (pos('81',s)<>0) or (pos('882',s)<>0) or (pos('8883',s)<>0) do begin
var i81:=pos('81',s);
var i882:=pos('882',s);
var i8883:=pos('8883',s);
if i81<>0 then begin
delete(s,i81,2);
insert('2',s,i81);
else
if i882<>0 then begin
delete(s,i882,3);
insert('3',s,i882);
else
delete(s,i8883,4);
insert('1',s,i8883);
end;
end;
end;
end.

Ответы

Автор ответа: 85258
0

var s:='2'+'8'*99+'2';

begin

while (pos('81',s)<>0) or (pos('882',s)<>0) or (pos('8883',s)<>0) do

begin

var i81:=pos('81',s);

var i882:=pos('882',s);

var i8883:=pos('8883',s);

if i81<>0 then

begin

delete(s,i81,2);

insert('2',s,i81)

end

else

if i882<>0 then

 begin

  delete(s,i882,3);

  insert('3',s,i882);

 end

else

delete(s,i8883,4);

insert('1',s,i8883);

end;

end.


baibek: Бляха, забыл кинуть условие задачи
baibek: НАЧАЛО
ПОКА нашлось (81) ИЛИ нашлось (882) ИЛИ нашлось (8883)
ЕСЛИ нашлось (81)
ТО заменить (81, 2)
ИНАЧЕ ЕСЛИ нашлось (882)
ТО заменить (882, 3)
ИНАЧЕ заменить (8883, 1)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
85258: Возможно не правильно исправил, тк не знаю условия, но суть в том что были неправильно поставлены end.
baibek: Хорошо, спасибо
85258: условие не верно, если после if надо поставить else то выполняемый блок оператором if должен быть закрыт begin и end
Похожие вопросы
Предмет: Математика, автор: тчочолаовов1