Определить, имеются ли свободные места в первом ряду - 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.

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

  1. Объявлены константы n=23 и m=40, которые задают количество рядов и мест в зрительном зале соответственно.
  2. Объявлена двумерная массивная переменная a размером [1..n,1..m] для хранения информации о занятых и свободных местах в зале.
  3. В цикле for i:=1 to m выполняется вывод на экран чисел от 1 до m с шагом 3, чтобы отобразить номера мест в каждом ряду.
  4. В цикле for i:=1 до n выполняется вывод на экран чисел от 1 до n с шагом 3, чтобы отобразить номера рядов.
  5. Внутри второго цикла выполняется заполнение массива a значениями от 0 до 9, которые представляют занятые места, и 10, которые представляют свободные места.
  6. После заполнения массива a выполняется запрос на ввод номера ряда, в котором нужно проверить наличие свободных мест.
  7. Введенный номер ряда сохраняется в переменной i.
  8. В цикле for j:=1 to m выполняется подсчет количества свободных мест в выбранном ряду, используя условие a[i,j]=0.
  9. Выводится сообщение о наличии или отсутствии свободных мест в выбранном ряду с указанием их количества.

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


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

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

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