Спросить
Войти
Вопросы
Уроки
Тесты

В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трёх или более шариков одного цвета, она удаляется из линии. Все шарики при этом сдвигаются друг к другу, и ситуация может повториться.

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

ОТВЕТЫ

Язык: Pascal

program DestroyBalls;

var

balls: array [1..100] of char;

n, i, j, destroyed: integer;

current_color: char;

current_streak: integer;

begin

write('Введите количество шариков: ');

readln(n);

for i := 1 to n do begin

write('Введите цвет ', i, ' шарика: ');

readln(balls[i]);

end;

destroyed := 0;

i := 1;

while i <= n do begin

current_color := balls[i];

current_streak := 1;

for j := i+1 to n do begin

if balls[j] = current_color then

current_streak := current_streak + 1

else

break;

end;

if current_streak >= 3 then

destroyed := destroyed + current_streak;

i := i + current_streak;

end;

writeln('Количество уничтоженных шариков: ', destroyed);

end.

Этот код начинает с чтения количества шариков и их цветов. Затем он проходит через каждый шарик, считает количество последовательных шариков того же цвета и, если это количество больше или равно 3, увеличивает счетчик уничтоженных шариков на это количество.

Этот код ожидает, что цвет шарика будет представлен одним символом.

СПАСИБО
1
Для написания ответов необходимо зарегестрироваться
Контакты
Обратная связь
mail@uchimsya.com
Школьный урок
Общая информация
Разделы
Тесты