Лекция: Пример выполнения задания 8
Даны две вещественные матрицы a(7, 7) и b(5, 5). Из отрицательных элементов матрицы а сформировать одномерный массив с, а из отрицательных элементов матрицы b сформировать одномерныймассив d.
В программе использовать три процедуры:
– для ввода матриц,
– для формирования одномерных массивов,
– для вывода одномерных массивов.
program lab5;
uses crt;
const n=7;
type matr=array [1..n, 1..n] of real;
vect = array[l..n*n] of real;
var a, b:matr; c, d:vect; t, q:integer;
{процедура для ввода квадратной матрицы с фиктивным именем х с числом строк k и с числом столбцов k, где k <= п}
procedure vvod (var x:matr; k:integer);
var i, j:integer:
begin
for i:=1 to k do
for j:=1 to k do read(x[i, j]);
end;
{процедура вывода одномерного массива с фиктивным именем y с числом элементов т, где т <= п*п}
procedure vyvod (y:vect; m:integer);
var i:integer:
begin
for i := 1to m do write(y[i]:6:2);
writeln
end;
{процедура формирования из матрицы х(k, k) одномерного массива у(т)}
procedure form (x:matr; k:integer; var у:vect; var m:integer);
var i,,j:integer:
begin m:=0;
for i:=1 to k do
for j:=1 to k do
if x [i, j] <0 then
begin m:=m + 1;
y[m]:=x[i, j]
end
end;
{раздел операторов основной программы}
begin clrscr;
writeln (¢введите элементы матрицы а(7, 7)¢);
vvod (a, 7);
writeln (¢введите элементы матрицы b(5, 5)¢);
vvod (b, 5);
form(a, 7, с, t);
writeln (¢вывод одномерного массива с длиной t
элементов¢);
vyvod(c, t);
form (b, 5, d, q);
writeln (¢вывод одномерного массива d длиной
q элементов¢);
vyvod (d, q);
readkey
end.
Тема 9