Составить программу, определяющую число проданных билетов на места в 12-м ряду - PascalABC.NET
Формулировка задачи:
В зрительном зале 25 рядов, в каждом из которых 36 мест (кресел). Информация о проданных билетах хранится в двумерном массиве, номера строк которого соответствуют номерам рядов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Составить программу, определяющую число проданных билетов на места в 12-м ряду.
Решение задачи: «Составить программу, определяющую число проданных билетов на места в 12-м ряду»
textual
Листинг программы
const n=25;m=36;
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]);
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]=1);
write('В ряду ',i,' продано ',k,' билетов');
end.
Объяснение кода листинга программы
- Объявляются константы n=25 и m=36, а также переменные i, j, k типа integer и массив a типа array[1..n,1..m] of integer.
- В цикле for i от 1 до m выводятся номера строк зала.
- В цикле for i от 1 до n в каждой строке зала в цикле for j от 1 до m выводятся номера мест и в каждой ячейке массива a[i,j] случайным образом устанавливается значение 1 или 0.
- В каждой строке зала выводится количество проданных билетов (значение переменной k), а затем номер строки и количество проданных билетов.
- После этого программа повторяет шаги 2-4, пока не будет введено корректное значение номера ряда (больше 0 и меньше n+1).