Вывести на экран номера строк двухмерного массива в которых нету 0 - Turbo Pascal
Формулировка задачи:
Решение задачи: «Вывести на экран номера строк двухмерного массива в которых нету 0»
var
a:array[1..10,1..11] of integer;
i,j,m,n:integer;
b:boolean;
begin
b:=false;
randomize;
repeat
write('Количество строк [1..10]:');readln(m);
until (0<m) and (m<11);
repeat
write('Количество столбцов[1..10]:');readln(n);
until (0<n) and (n<11);
writeln('Исходный массив:');
for i:=1 to m do begin
a[i,11]:=1;
write('Строка ',i:3,'|');
for j:=1 to n do begin
a[i,j]:=random(10)-5;
write(a[i,j]:4);
if a[i,j]=0 then a[i,11]:=0;
end;
writeln;
end;
Writeln('Номера строк в которых отстутствуют нули:');
for i:=1 to m do if a[i,11]=1 then begin writeln(i);b:=true;end;
if not b then writeln('Во всех строках есть нули');
end.
Объяснение кода листинга программы
В данном коде используется язык программирования Turbo Pascal. Он содержит двумерный массив a размером от 1 до 10 строк и от 1 до 11 столбцов.
Переменная b изначально установлена в значение false. С помощью функции randomize производится инициализация генератора случайных чисел.
Далее идет цикл repeat, который продолжается до тех пор, пока количество строк (m) и количество столбцов (n) не будут в пределах от 0 до 10. В каждой итерации цикла выводится запрос на ввод количества строк и столбцов.
Затем следует цикл for, который проходит по каждой строке массива a. Внутри этого цикла устанавливается значение 1 в ячейку a[i,11]. Далее происходит вывод номера текущей строки (i) и всех значений из строки (for j:=1 to n do begin...end;). Если в какой-либо ячейке массива встречается значение 0, то выводится сообщение о том, что во всех строках присутствуют нули.
В конце кода выводится сообщение с номерами строк, в которых отсутствуют нули, если условие if a[i,11]=1 then begin...end; выполняется. Если условие не выполняется, то выводится сообщение о том, что во всех строках присутствуют нули.