Определить, имеются ли свободные места в первом ряду - PascalABC.NET
Формулировка задачи:
В зрительном зале 23 ряда, в каждом из которых 40 мест (кресел). Инфор-мация о проданных билетах хранится в двумерном массиве, номера строк которых соответствуют номерам рядов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Определить, имеются ли свободные места в первом ряду.
Решение задачи: «Определить, имеются ли свободные места в первом ряду»
textual
Листинг программы
const n=23;m=40;//n-ряды, m-места var a:array[1..n,1..m] of integer;//зрительный зал i,j,k:integer; begin randomize; writeln('Зрительный зал:'); write('М/Р'); for i:=1 to m do write(i:3); writeln; for i:=1 to n do begin write(i:3); for j:=1 to m do begin a[i,j]:=ord(random(10)>0);write(a[i,j]:3);//read(a[i,j]); я ввожу гадалкой, т.к. руками вбивать 920 цифирь не входит в мое понятие героизма end; writeln; end; repeat write('В каком ряду смотреть свободные места?'); readln(i); until (i>0) and (i<n+1); k:=0; for j:=1 to m do k:=k+ord(a[i,j]=0);//cчитаем свободные места write('В ряду ',i); if k>0 then writeln(' есть свободные места в количестве ',k,' шт.') else writeln(' свободных мест нет'); end.
Объяснение кода листинга программы
- Объявлены константы n=23 и m=40, которые задают количество рядов и мест в зрительном зале соответственно.
- Объявлена двумерная массивная переменная a размером [1..n,1..m] для хранения информации о занятых и свободных местах в зале.
- В цикле for i:=1 to m выполняется вывод на экран чисел от 1 до m с шагом 3, чтобы отобразить номера мест в каждом ряду.
- В цикле for i:=1 до n выполняется вывод на экран чисел от 1 до n с шагом 3, чтобы отобразить номера рядов.
- Внутри второго цикла выполняется заполнение массива a значениями от 0 до 9, которые представляют занятые места, и 10, которые представляют свободные места.
- После заполнения массива a выполняется запрос на ввод номера ряда, в котором нужно проверить наличие свободных мест.
- Введенный номер ряда сохраняется в переменной i.
- В цикле for j:=1 to m выполняется подсчет количества свободных мест в выбранном ряду, используя условие a[i,j]=0.
- Выводится сообщение о наличии или отсутствии свободных мест в выбранном ряду с указанием их количества.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д