Даны две квадратные вещественные матрицы 4-го порядка. Напечатать ту из них, норма которой наименьшая (считать, что такая матрица одна)
Категория: Delphi/Pascal
2012-02-05 19:11:54
В качестве нормы матрицы взять максимум абсолютных величин её элементов. Максимум определяется с помощью процедуры.
code: #pascal
Program DVK012; type matrix=array[1..4,1..4]of real; var a,b:matrix; i,j,n:integer; function norma(x:matrix):real; var i,j:integer; max:real; begin max:=abs(x[1,1]); for i:=1 to n do for j:=1 to n do if abs(x[i,j])>max then max:=abs(x[i,j]); norma:=max; end; begin n:=4; writeln ('Vvedite matricy A:'); for i:=1 to n do for j:=1 to n do begin write ('A[',i,',',j,']='); readln (a[i,j]); end; writeln; writeln ('Vvedite matricy B:'); for i:=1 to n do for j:=1 to n do begin write ('B[',i,',',j,']='); readln (b[i,j]); end; writeln; writeln ('Vot vvedennaya matrica A:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; writeln; writeln ('Vot vvedennaya matrica B:'); for i:=1 to n do begin for j:=1 to n do write(b[i,j]:6:2); writeln; end; writeln; {**********************************} writeln('Norma matricy A= ',norma(a):0:2); writeln('Norma matricy B= ',norma(b):0:2); writeln('_________________'); if norma(a)<norma(b) then begin writeln('Norma A<normy B'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:6:2); writeln; end; end else begin writeln('Norma B<normy A'); for i:=1 to n do begin for j:=1 to n do write(b[i,j]:6:2); writeln; end; end; readln; end.
Поделиться: