Подсчитать количество чисел, принадлежащих промежутку [X,Y] и лежащих выше главной диагонали - Pascal ABC
Формулировка задачи:
Подсчитать количество чисел, принадлежащих промежутку [X,Y] и лежащих выше главной диагонали. Как вывести ответ из промежутка? Не дописал. Был бы рад помощи.
Решение задачи: «Подсчитать количество чисел, принадлежащих промежутку [X,Y] и лежащих выше главной диагонали»
textual
Листинг программы
Program avangard;
const
m = 4; {строки}
n = 4; {столбцы}
var
matrix : array[1..m, 1..n] of integer;
i, j, k, X, Y : integer;
begin
write('Введите границы интервала [X, Y] ');
readln (X, Y); //например -1; 3
randomize;
k:=0;//добавь
for i := 1 to m do
begin
for j := 1 to n do
begin
matrix[i,j] := random(10) - 5;
write(matrix[i,j]:4);
if (i < j) and (matrix[i,j] > 0) then inc(k)
end;
writeln
end;
writeln('количество положительных выше главной диагонали, на промежутке от X до Y: ', k)
end.
Объяснение кода листинга программы
Программа avangard на языке Pascal ABC.
Константы:
m = 4; (строки)
n = 4; (столбцы)
Переменные:
matrix : array[1..m, 1..n] of integer;
i, j, k, X, Y : integer;
Описание:
- Вводим границы интервала [X, Y] с помощью функции readln.
- Инициализируем генератор случайных чисел функцией randomize.
- Инициализируем счетчик положительных чисел выше главной диагонали переменной k значением 0.
- Запускаем цикл по строкам матрицы от 1 до m.
- В каждой итерации запускаем вложенный цикл по столбцам матрицы от 1 до n.
- Внутри вложенного цикла присваиваем каждой ячейке матрицы случайное число от 1 до 10 и выводим его на экран.
- Проверяем условие (i < j) и (matrix[i,j] > 0), если оно выполняется, то увеличиваем счетчик положительных чисел выше главной диагонали k на единицу.
- После окончания вложенного цикла выводим на экран результат — количество положительных чисел выше главной диагонали на промежутке от X до Y. Примечание: В данной реализации предполагается, что пользователь введет границы интервала [X, Y] в том же порядке, в котором они используются в программе.