Определить количество таких ситуаций, если имеется N1 ящиков с отходами А и N2 ящиков с отходами В - Pascal ABC
Формулировка задачи:
Здравствуйте, нужно решить задачу, в паскале не сильно разбираюсь.
На заводе имеется два типа отходов А и В. Первый из них радиоактивен. Отходы пакуются в ящики, которые складируются друг на друга (штабелем). При этом известно, что если в штабеле находится подряд 3 или более ящиков с отходами А, то возникает взрывоопасная ситуация. Определить кол-во таких ситуаций, если имеется N1 ящиков с отходами А и N2 ящиков с отходами В и все эти ящики сложены в один штабель.
Суть задачи, в принципе, понятна, надо объявить массив с нулями и единицами, и подсчитать кол-во ситуаций, когда встречаются подряд 3 или более единицы.
Писал задачу на с++( и там куча недоработок), но на паскале я плох, заранее спасибо.
Решение задачи: «Определить количество таких ситуаций, если имеется N1 ящиков с отходами А и N2 ящиков с отходами В»
textual
Листинг программы
var a:array[1..100] of byte; n,i:byte; begin randomize; repeat write('Введите количество ящиков от 3 до 100 n='); readln(n); until n in [3..100]; writeln('Последовательность ящиков'); for i:=1 to n do begin a[i]:=random(2); write(a[i]:2); end; writeln; i:=1; while (i<n-1)and(a[i]*a[i+1]*a[i+2]=0) do inc(i); if i>n-2 then write('Нет взрывоопасной ситуации') else write('Есть взрывоопасная ситуация') end.
Объяснение кода листинга программы
- Переменная
a
объявляется как массив байтов размером 100 элементов. - Объявляются две переменные
n
иi
типа байт. - В блоке repeat-until пользователю предлагается ввести количество ящиков от 3 до 100.
- После получения корректного значения переменной
n
выводится сообщениеПоследовательность ящиков
и в цикле for создается последовательность ящиков от 1 до n, где каждому ящику присваивается случайное значение от 0 до 1. - Значения элементов массива
a
выводятся на экран в цикле for. - В цикле while проверяется наличие взрывоопасной ситуации, т.е. последовательности из трех нулей подряд. Если такая последовательность найдена, то увеличивается переменная
i
, которая ищет следующий нулевой элемент. - Если взрывоопасная ситуация найдена и
i
меньше n-2, то выводится сообщениеЕсть взрывоопасная ситуация
. В противном случае выводится сообщениеНет взрывоопасной ситуации
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д