Определить, есть ли в матрице строка, состоящая только из элементов, больших числа q - Free Pascal
Формулировка задачи:
Дан двумерный массив. Определить, есть ли в данном массиве строка, состоящая только из элементов, больших числа q.
Решение задачи: «Определить, есть ли в матрице строка, состоящая только из элементов, больших числа q»
textual
Листинг программы
const
n = 10;
type
range = 1 .. n;
vector = array[range] of integer;
var
a : array[range] of vector;
v : vector;
i, j, q : integer;
b : boolean;
begin
randomize;
for i in range do for j in range do
a[i, j] := random(25);
for v in a do
begin
for i in v do write(i:3);
writeln;
end;
write('q = '); readln(q);
for i in range do
begin
b := true;
for j in a[i] do b := b and (j > q);
if b then writeln('line #', i);
end;
end.
Объяснение кода листинга программы
- Объявлены константы и типы данных: — n = 10 (количество строк в матрице) — range = 1 .. n (диапазон для индексов строк и столбцов) — vector = array[range] of integer (тип данных для ячейки матрицы) — a : array[range] of vector (объявление двумерной матрицы, где каждая строка представлена вектором) — v : vector (обычный вектор для проверки) — i, j, q : integer (обычные целочисленные переменные для циклов и сравнений) — b : boolean (флаг для проверки наличия строки с элементами, большими q)
- Инициализация матрицы случайными числами от 1 до 25
- Вывод содержимого матрицы в консоль (для отладки)
- Ввод числа q с клавиатуры
- Поиск строки, удовлетворяющей условию (каждый элемент строки больше q)
- Если такая строка найдена, то выводим её номер на экран
- Конец программы