Создать одномерный массив из ненулевых произведений элементов каждого столбца - Pascal
Формулировка задачи:
Создать одномерный массив из ненулевых произведений элементов каждого столбца
Решение задачи: «Создать одномерный массив из ненулевых произведений элементов каждого столбца»
textual
Листинг программы
const
n = 5;
m = 3;
var
A: array[1..n, 1..m] of integer;
B: array[1..m] of real;
k, i, j: longint;
p: real;
begin
for i := 1 to n do
begin
for j := 1 to m do
begin
A[i, j] := -n div 2 + random(m);
write(A[i, j]:3);
end;
writeln;
end;
writeln('Массив произведений');
k := 1;
for j := 1 to m do
begin
p := A[1, j];
for i := 2 to n do
p := p * A[i, j];
if p <> 0 then
begin
b[k] := p;
inc(k);
end;
end;
for i := 1 to k - 1 do
write(b[i], ' ');
readln;
end.
Объяснение кода листинга программы
- Объявление констант:
nсо значением 5mсо значением 3
- Объявление переменных:
Aкак двумерный массив размером [1..n, 1..m] типа integerBкак одномерный массив размером [1..m] типа realk,i,jкак переменные типа longintpкак переменная типа real
- Заполнение и вывод двумерного массива
A:- Цикл от 1 до
nдля переменнойi- Цикл от 1 до
mдля переменнойj - Присвоение элементам массива
Aслучайных значений в диапазоне от -n div 2 до (m - 1) с помощью функции random - Вывод значений элементов массива
Aс выравниванием в 3 символа
- Цикл от 1 до
- Цикл от 1 до
- Вывод строки
Массив произведений - Вычисление произведений и формирование массива
B:- Присвоение начального значения переменной
kкак 1 - Цикл от 1 до
mдля переменнойj- Присвоение переменной
pзначения элемента A[1, j] - Цикл от 2 до
nдля переменнойi - Умножение переменной
pна значение элемента A[i, j] - Если p не равно 0
- Присвоение элементу массива
Bс индексомkзначение переменнойp - Увеличение значения
kна 1 с помощью inc
- Присвоение переменной
- Вывод значений элементов массива
Bот 1 до k - 1, разделенных пробелом
- Присвоение начального значения переменной
- Ожидание ввода пользователя с помощью readln.