Сформировать массив из элементов матрицы - Pascal (80717)
Формулировка задачи:
Сформировать одномерный массив, каждый элемент которого равен количеству
элементов кратных Х соответствующей строки двумерного массива. С процедурами,заранее огромное спасибо)
Решение задачи: «Сформировать массив из элементов матрицы»
textual
Листинг программы
procedure count(const a: array of integer; x: integer; var k: integer);
var i: integer;
begin
k := 0;
for i := 0 to high(a) do
if a[i] mod x = 0 then inc(k)
end;
const m = 10;
n = 7;
var i, j, x: integer;
y: array [1..m, 1..n] of integer;
z: array [1..m] of integer;
begin
randomize;
writeln('Source matrix:');
for i := 1 to m do
begin
for j := 1 to n do
begin
y[i, j] := -99 + random(199);
write(y[i, j]: 4)
end;
writeln
end;
write('x = ');
readln(x);
writeln('Result array:');
for i := 1 to m do
begin
count(y[i], x, z[i]);
write(z[i]:4)
end;
readln
end.
Объяснение кода листинга программы
- procedure count(const a: array of integer; x: integer; var k: integer);
- a:
array of integer- массив, содержащий целые числа - x:
integer- переменная, содержащая целое число - k:
integer- переменная, содержащая целое число, передаваемая по ссылке
- a:
- var i, j, x: integer;
- i, j, x:
integer- переменные, содержащие целые числа
- i, j, x:
- y: array [1..m, 1..n] of integer;
- y:
array [1..m, 1..n] of integer- массив с размерностью m x n, содержащий целые числа
- y:
- z: array [1..m] of integer;
- z:
array [1..m] of integer- массив, содержащий целые числа и имеющий размерность m
- z:
- randomize;
- Функция для инициализации генератора случайных чисел.
- writeln('Source matrix:');
- Вывод строки
Source matrix:.
- Вывод строки
- for i := 1 to m do
for j := 1 to n do
y[i, j] := -99 + random(199);
- Заполнение двумерного массива y случайными целыми числами в заданном диапазоне.
- write('x = ');
readln(x);
- Вывод строки
x =и считывание значения переменной x.
- Вывод строки
- writeln('Result array:');
- Вывод строки
Result array:.
- Вывод строки
- for i := 1 to m do
begin
count(y[i], x, z[i]);
write(z[i]:4)
end;
- Вызов процедуры count для каждой строки массива y и вывод значений массива z.
- readln
- Ожидание ввода пользователя перед закрытием программы.