Добавил:
Источник:
Uman
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:01 семестр / Разное / Готовые решённые задачи в формате ТХТ / Матрицы / Задача 1 (найти сумму мин и макс на побочной диаг и поделить всю матрицу на эту сумму)
.txt 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.
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.
Соседние файлы в папке Матрицы