Главная

Задача 243 на Pascal

Оцените материал
(2 голосов)

Задача 243 на Pascal

Даны три квадратные матрицы третьего порядка. Вывести на экран ту из них, норма которой наименьшая. В качестве нормы матрицы взять максимум модулей ее элементов. Нахождение нормы матрицы оформить в виде процедуры.

const
p=3;                                {порядок матрицы}
 
type
tip_matr=array[1..p,1..p]of integer;{тип для матрицы}
var
a,b,c:tip_matr;                     {три матрицы    }
i,j:integer;                        {для цикла      }
n_a,n_b,n_c:integer;                {норма матрицы  }
 
{процедура - получить норму матрицы
m - матрица в которой находится норма
n - сюда записывается значение нормы матрицы}
PROCEDURE get_norma(m:tip_matr; var n:integer);
var
max:integer;
BEGIN
max:=m[1,1];
for i:=1 to p do
for j:=1 to p do if ABS(m[i,j])>max then max:=ABS(m[i,j]);
n:=max;
END;
 
{процедура печатает матрицу на экран}
PROCEDURE print_array(m:tip_matr);
BEGIN
for i:=1 to p do
 begin
  for j:=1 to p do write('  ',m[i,j]:3);
  writeln;
 end;
writeln;
END;
 
BEGIN
randomize;
for i:=1 to p do {загрузка значений элементов во все матрицы}
for j:=1 to p do
 begin
  a[i,j]:=random(50)-random(50);
  b[i,j]:=random(50)-random(50);
  c[i,j]:=random(50)-random(50);
 end;
 
writeln('ИСХОДНЫЕ МАТРИЦЫ');
writeln('Матрица A:');
print_array(a);
writeln('Матрица B:');
print_array(b);
writeln('Матрица C:');
print_array(c);
 
{получить длякаждой матрицы её норму}
get_norma(a,n_a);
get_norma(b,n_b);
get_norma(c,n_c);
 
writeln('Матрица с наименьшей нормой:');
if (n_a <= n_b)and(n_a <= n_c) then print_array(a) else
if (n_b <= n_a)and(n_b <= n_c) then print_array(b) else
if (n_c <= n_b)and(n_c <= n_a) then print_array(a);
readln;
END.

Замечание! Если я правильно понял: норма матрицы - это максимальное значение элемента матрицы взятое по модулю. В противном случае, если норма матрицы это что-то другое, то процедуру PROCEDURE get_norma(m:tip_matr; var n:integer); нужно изменить.

Прочитано 9584 раз
Другие материалы в этой категории: « Задача 242 на Pascal Задача 244 на Pascal »

Авторизация



Счетчики