1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

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

Тема в разделе "Pascal and Delphi", создана пользователем sonia2000, 26 янв 2015.

  1. sonia2000

    sonia2000 New Member

    Регистрация:
    26 янв 2015
    Сообщения:
    2
    Симпатии:
    0
    Помогите исправить ошибку в программе, пожалуйста. Паскаль.

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

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Не запускал программу, но с виду кажется, что надо исправить строчку:
    Код (Delphi):
    if length(s1)<=length(s) then ... -> if length(s1)<=n then ...
     
Загрузка...

Поделиться этой страницей