• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Исправьте Программу

  • Автор темы sonia2000
  • Дата начала
S

sonia2000

Помогите исправить ошибку в программе, пожалуйста. Паскаль.

Задача:
Была создана лотерея по следующему принципу: при нажатии на рычаг, игроку выделяется буфер, куда может поместиться n шариков в длину. В этот буфер начинают падать шарики 3-х цветов (красного, синего и зеленого). Если накапливается 3 шарика одинакового цвета, то они взаимно уничтожаются. Последовательность шариков задается строкой например rrggbbrrgg. Ход считается выигрышным, если шарики умещаются в буфер. Написать программу, которая проверяет ход на выигрыш.

var s,s1:string; n,i:integer;
begin
writeln ('ваш ход');
read (s);
writeln ('кол-во мест в буфере');
read (n);
s1:=copy(s,1,n);
for i:=3 to n do begin
if (s1=s1[i-1])and (s1=s[i-2]) then begin
Delete (s,i-1,3); s1:=copy (s,1,n); end;
end;
if length(s1)<=length(s) then writeln('Вы выиграли') else writeln('Вы проиграли');
end.
 
V

Vadik(R)

Не запускал программу, но с виду кажется, что надо исправить строчку:
Код:
if length(s1)<=length(s) then ... -> if length(s1)<=n then ...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!