Информатика, вопрос задал baibek , 7 лет назад

Не получается компилировать программу на паскале
Выходит ошибка из-за 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
Новые вопросы