Для каждого столбца двухмерного массива вывести первое нечетное значение - PascalABC.NET
Формулировка задачи:
Для каждого столбца двухмерного массива вывести первое нечетное значение
Решение задачи: «Для каждого столбца двухмерного массива вывести первое нечетное значение»
textual
Листинг программы
const
m = 10;
n = 8;
var
a : array[1..m, 1..n] of Integer;
begin
Randomize;
for var i := 1 to m do
begin
for var j := 1 to n do
begin
a[i, j] := random(10);
write(a[i, j]:3)
end;
writeln
end;
WriteLn('Первые нечётные каждого столбца:');
for var j := 1 to n do
begin
var p := -1;
for var i := n downto 1 do
if odd(a[i, j]) then
p := a[i, j];
if p = -1 then
Write('-':3)
else
Write(p:3);
end;
WriteLn;
end.
Объяснение кода листинга программы
- Объявляется двухмерный массив a размером m на n, где m = 10, n = 8.
- В каждой ячейке массива a[i, j] генерируется случайное число от 0 до 9.
- Выводится содержимое каждой ячейки массива a[i, j] в отдельной строке в шестнадцатеричной системе счисления.
- Выводится сообщение
Первые нечётные каждого столбца: - Для каждого столбца j от 1 до n:
- Переменная p инициализируется значением -1.
- Для каждого ряда i от n до 1:
- Если a[i, j] - нечетное число, то p принимает значение a[i, j].
- Если p = -1, то выводится
-, иначе выводится значение p.
- Выводится символ новой строки.