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

sonia2000

New member
26.01.2015
2
0
#1
Помогите исправить ошибку в программе, пожалуйста. Паскаль.

Задача:
Была создана лотерея по следующему принципу: при нажатии на рычаг, игроку выделяется буфер, куда может поместиться 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.
 

Vadik(R)

Well-known member
12.12.2007
469
0
#2
Не запускал программу, но с виду кажется, что надо исправить строчку:
Код:
if length(s1)<=length(s) then ... -> if length(s1)<=n then ...