Нечетные строки матрицы А заменить на вектор - Pascal
Формулировка задачи:
Добрый день. Не могли бы вы мне помочь с задачами на 2 мерный массив.
Дана (построчно) вещественная матрица Л размером 10x10 и массив В(10).
а) нечетные строки матрицы А заменить на В;
б) четные столбцы матрицы А заменить на В;
Заранее спасибо что помогаете))
Решение задачи: «Нечетные строки матрицы А заменить на вектор»
textual
Листинг программы
const n=10;
var a,a1:array[1..n,1..n] of real;
b:array[1..n] of real;
i,j:integer;
begin
randomize;
writeln('Исходная матрица A');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=10*random;
write(a[i,j]:6:2);
end;
writeln;
end;
writeln('Массив В');
for i:=1 to n do
begin
b[i]:=10*random;
write(b[i]:6:2);
end;
writeln;
a1:=a;
writeln('Замена нечетных строк');
for i:=1 to n do
begin
for j:=1 to n do
begin
if odd(i) then a1[i,j]:=b[j];
write(a1[i,j]:6:2);
end;
writeln;
end;
writeln('Замена четных столбцов');
for i:=1 to n do
begin
for j:=1 to n do
begin
if j mod 2=0 then a[i,j]:=b[i];
write(a[i,j]:6:2);
end;
writeln;
end;
end.
Объяснение кода листинга программы
- Создаются две переменные: n и a. Переменная n инициализируется значением 10. Переменная a инициализируется значением 10*random, где randomize используется для генерации случайного числа в диапазоне от 0 до 9.
- Выводится исходная матрица A. Для каждой строки матрицы A выполняется цикл, в котором для каждого столбца матрицы A выполняется еще один цикл. Внутри этого цикла вычисляется значение a[i,j] и выводится его на экран.
- Выводится массив В. Для каждой строки массива В выполняется цикл, в котором для каждого столбца массива В выполняется еще один цикл. Внутри этого цикла вычисляется значение b[i] и выводится его на экран.
- Выполняется замена нечетных строк матрицы A на вектор b. Для каждой строки матрицы A выполняется цикл, в котором для каждого столбца матрицы A выполняется еще один цикл. Внутри этого цикла проверяется, является ли номер строки нечетным числом. Если это так, то значение a1[i,j] присваивается значению b[j]. Затем значение a1[i,j] выводится на экран.
- Выполняется замена четных столбцов матрицы A на вектор b. Для каждой строки матрицы A выполняется цикл, в котором для каждого столбца матрицы A выполняется еще один цикл. Внутри этого цикла проверяется, является ли номер столбца четным числом. Если это так, то значение a[i,j] присваивается значению b[i]. Затем значение a[i,j] выводится на экран.
- Конец программы.