Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

01 семестр / Разное / Готовые решённые задачи в формате ТХТ / Матрицы / Задача 1 (найти сумму мин и макс на побочной диаг и поделить всю матрицу на эту сумму)

.txt
Источник:
Скачиваний:
267
Добавлен:
04.03.2014
Размер:
1.38 Кб
Скачать
1) в матрице найти минимальный и максимальный элементы побочной диагонали, поделить все элементы на их сумму (используя процедуру/функцию)

program matrizi;

{$APPTYPE CONSOLE}

uses
SysUtils;

type mas=array[1..15,1..15] of double;

procedure VVOD (var a:mas;var n:integer);
var i,j:integer;
begin
writeln('VVedite kolichestvo strok/stolbzov');
readln(n);
writeln('Vvedite matrizu');
for i:=1 to n do begin
for j:=1 to n do read (a[i,j]);
readln;
end;
end;

procedure POISK (a:mas;n:integer;var sum:double);
var i,j:integer;
min,max:double;
begin
min:=a[1,n];
for i:=1 to n do if a[i,n+1-i]<min then min:=a[i,n+1-i];
max:=a[1,n];
for i:=1 to n do if a[i,n+1-i]>max then max:=a[i,n+1-i];
sum:=min+max;
writeln('Min element pobochnoi diag ',min:0:0);
writeln('Max element pobochnoi diag ',max:0:0);
writeln('Cymma ',sum:0:0);
end;

procedure DELENIE (a:mas;n:integer;sum:double;var c:mas);
var i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to n do c[i,j]:=a[i,j]/sum;
end;
end;

procedure VIVOD (c:mas;n:integer);
var i,j:integer;
begin
for i:=1 to n do begin
for j:=1 to n do write (c[i,j]:1:1,' ');
writeln;
end;
end;

var M,K:mas;
n:integer;
summa:double;
begin
VVOD(M,n);
POISK(M,n,summa);
DELENIE(M,n,summa,K);
VIVOD(K,n);
readln;
end.