S
sonia2000
Помогите исправить ошибку в программе, пожалуйста. Паскаль.
Задача:
Была создана лотерея по следующему принципу: при нажатии на рычаг, игроку выделяется буфер, куда может поместиться n шариков в длину. В этот буфер начинают падать шарики 3-х цветов (красного, синего и зеленого). Если накапливается 3 шарика одинакового цвета, то они взаимно уничтожаются. Последовательность шариков задается строкой например rrggbbrrgg. Ход считается выигрышным, если шарики умещаются в буфер. Написать программу, которая проверяет ход на выигрыш.
var s,s1:string; n,i:integer;
begin
writeln ('ваш ход');
read (s);
writeln ('кол-во мест в буфере');
read ;
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.
Задача:
Была создана лотерея по следующему принципу: при нажатии на рычаг, игроку выделяется буфер, куда может поместиться n шариков в длину. В этот буфер начинают падать шарики 3-х цветов (красного, синего и зеленого). Если накапливается 3 шарика одинакового цвета, то они взаимно уничтожаются. Последовательность шариков задается строкой например rrggbbrrgg. Ход считается выигрышным, если шарики умещаются в буфер. Написать программу, которая проверяет ход на выигрыш.
var s,s1:string; n,i:integer;
begin
writeln ('ваш ход');
read (s);
writeln ('кол-во мест в буфере');
read ;
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.