Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено" - Pascal

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток! В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии. Все шарики при этом сдвигаются друг к другу, и ситуация может повториться. Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено". Естественно, непрерывных цепочек из трех и более одноцветных шаров в начальный момент может быть не более одной. Помогите, пожалуйста, тут что-то не так:
var MAS:aRRay of LongInt;
    N, i:IntegeR;
    cur, c1, c2:Byte;
 
begin
  readln(N);
  SetLength(MAS, N);
  for i:= loW(MAS) to HigH(MAS) do read(MAS[i]);
  cur:= MAS[loW(MAS)];
  c1:= 1;
  c2:= 0;
  for i:= loW(MAS) + 1 to HigH(MAS) do
  begin
    if (MAS[i] = cur) then inc(c1)
    else
    begin
      cur:= MAS[i];
      if (c1 > c2) then begin c2:= c1; c1:= 1; end;
    end;
  end;
  if (c1 > c2) then writeln(c1)
  else writeln(c2);
end.
Ну или предложите свои решения, только, пожалуйста, на паскале.

Решение задачи: «Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено"»

textual
Листинг программы
until(n-i<3)or not f;

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. Переменная n представляет собой количество шариков, которые уже были уничтожены.
  2. Переменная i представляет собой количество шариков, которые еще не были уничтожены.
  3. Переменная f представляет собой флаг, который указывает на то, была ли выполнена последняя итерация цикла.
  4. Выражение n-i<3 проверяет, было ли уничтожено меньше трех шариков.
  5. Оператор or проверяет, не было ли выполнено not f, то есть не была ли выполнена последняя итерация цикла.
  6. Если условие из пункта 4 или пункта 5 истинно, то цикл продолжается.
  7. Если условие из пункта 4 и пункта 5 ложно, то цикл завершается и переменная f устанавливается в значение true.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы