Определить и вывести на экран построчно только те строки, все элементы которых положительны - PascalABC.NET
Формулировка задачи:
Вообще не понимаю как сделать это((
(
с клавиатуры вводятся два целых числа – М и К. 1<M<10, 1<K<10. (М – число строк, К – число столбцов)
надо сгенерировать матрицу размерности М х К из случайных вещественных чисел из интервала [-10, 10].
Вывести её на экран в отформатированном табличном виде.
Определить и вывести на экран построчно только те строки, все элементы которых положительны
Генерацию, обработку и вывод матрицы производить с помощью двух вложенных циклов. Внешний цикл – while, внутренний – for.
Решение задачи: «Определить и вывести на экран построчно только те строки, все элементы которых положительны»
textual
Листинг программы
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
M,N: integer;
A : array of array of integer;
i,j:integer;
begin
Randomize;
write('Enter M: ');
readln(M);
write('Enter N: ');
readln(N);
SetLength(A,M,N);//установка размера массива
i:=0;
j:=0;
while(i < M) do
begin
for j:=0 to N - 1 do
begin
A[i,j]:=random(20) - 10;
write(IntToStr(A[i,j]):6);
end;
writeln;
i:= i + 1;
end;
writeln('Only positive strings:');
i:=0;
j:=0;
while(i < M) do
begin
for j:=0 to N - 1 do
begin
if A[i,j] < 0 then break;
write(IntToStr(A[i,j]):6);
end;
writeln;
i:= i + 1;
end;
readln;
end.
Объяснение кода листинга программы
- Создается массив A размером MxN для хранения M строк по N элементов
- В каждой строке элементам присваивается случайное значение от -10 до 10 с шагом 1
- Выводится построчно каждая строка с элементами через пробел
- Далее программа выводит только те строки, все элементы которых положительны