Вывести индексы первых отрицательных элементов в каждом столбце матрицы - PascalABC.NET
Формулировка задачи:
дана двумерная матрица, вывести индексы первых отрицательных элементов в каждом столбце
Решение задачи: «Вывести индексы первых отрицательных элементов в каждом столбце матрицы»
textual
Листинг программы
var
m,n,i,j:integer;
a:array[,] of integer;
b:boolean;
begin
randomize;
writeln('Матрица:');
repeat
write('строк:');readln(n);
until n>0;
repeat
write('столбцов:');readln(m);
until m>0;
SetLength(a,n,m);
for i:=0 to n-1 do begin
for j:=0 to m-1 do begin
a[i,j]:=random(21)-10;
write(a[i,j]:4);
end;
writeln;
end;
writeln('индексы первых отрицательных элементов в столбцах:');
for j:=0 to m-1 do begin
b:=false;
for i:=0 to n-1 do
if a[i,j]<0 then begin
writelnformat('столбец {1}, cтрока {0},',i+1,j+1);
b:=true;
break;
end;
if not b then writelnformat('Столбец {0} - отрицательных элементов нет',j+1)
end;
end.
Объяснение кода листинга программы
В этом коде задана задача вывода индексов первых отрицательных элементов в каждом столбце матрицы. Список действий:
- Объявление переменных:
- m, n, i, j — целочисленные переменные для количества строк, столбцов и индексов;
- a — массив для хранения значений матрицы;
- b — булевая переменная для определения наличия отрицательных элементов в столбце.
- Инициализация генератора случайных чисел.
- Вывод сообщения о заданной матрице и запрос ввода количества строк.
- Повторный запрос ввода количества строк до положительного значения.
- Вывод сообщения о заданном количестве столбцов и запрос ввода количества строк.
- Повторный запрос ввода количества столбцов до положительного значения.
- Установка длины массива a равной количеству строк на основе введенных данных.
- Заполнение массива a случайными целыми числами от -10 до 10 с шагом 1.
- Вывод значений массива a в формате 4-х разрядов.
- Вывод сообщения о наличии отрицательных элементов в столбцах и запрос индекса строки.
- Вывод сообщения о наличии отрицательных элементов в столбцах и запрос индекса столбца.
- Вывод индекса строки и столбца первого отрицательного элемента в выбранном столбце.
- Вывод сообщения о том, что в выбранном столбце нет отрицательных элементов.
- Повторение шагов 10-13 для каждого столбца матрицы.