Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная работа 8.doc
Скачиваний:
4
Добавлен:
14.08.2019
Размер:
75 Кб
Скачать

I, j : integer;

A : Matr;

tmp : integer;

begin

repeat

write('Введите число N: ');

readln(n);

until (n > 1) and (n <= MAX);

writeln('Ввод матрицы:');

for i:=1 to N do

for j:=1 to N do

read(A[i, j]);

{ вывод исходной матрицы }

writeln;

writeln('Исходные данные.');

for i:=1 to N do

begin

for j:=1 to N do write(A[i, j]:4, ' ');

writeln;

end;

{ транспанирование матрицы }

for i:=1 to N do

for j:=i+1 to N do

begin

tmp := A[i, j];

A[i, j] := A[j, i];

A[j, i] := tmp;

end;

{ вывод результата матрицы }

writeln;

writeln('Результат.');

for i:=1 to N do

begin

for j:=1 to N do write(A[i, j]:4, ' ');

writeln;

end;

end.

Задача 7.

const

MAX = 100;

var

N : integer;

i, j, k, m : integer;

L : array [1..MAX] of longint; { длины файлов }

TIME, tmp, TEMP : longint;

begin

write('Введите количество файлов: ');

readln(n);

{ ввод длин файлов }

for i:=1 to n do

begin

write('Длина файла ', i, ': ');

readln(L[i]);

end;

{ метод пузырьковой сортировки }

for i:=1 to n do

for j:=n downto i+1 do

if L[j] < L[j-1] then

begin

tmp := L[j];

L[j] := L[j-1];

L[j-1] := tmp;

end;

Time := 0;

for i := 1 to n-1 do begin

L[i+1] := L[i+1] + L[i];

Time := Time + L[i+1];

L[i] := 0;

{Include L[i+1] in L[i+1 .. n]}

Temp := L[i+1];

j := i + 2;

While (L[j] <= Temp) and (j <= n) do j := j + 1;

For k := i+1 to j-1 do L[k] := L[k+1];

L[j-1] := Temp;

end;

writeln(Time);

end.

Задача 9.

const

MAX = 10;

type

Matr = array [1..MAX, 1..MAX] of integer;

Vector = array [1..Max] of integer;

var

m, n : integer;

I, j : integer;

A : Matr;

cols_max : Vector; { максимальные элементы столбцов }

rows_min : Vector; { минимальные элементы строк }

f : boolean;

begin

repeat

write('Введите размерность массива n, m: ');

readln(n, m);

until (n > 1) and (n <= MAX) and (m > 1) and (m <= MAX);

writeln('Ввод матрицы:');

for i:=1 to n do

for j:=1 to m do

read(A[i, j]);

{ вывод исходной матрицы }

writeln;

writeln('Исходные данные.');

for i:=1 to n do

begin

for j:=1 to m do write(A[i, j]:4, ' ');

writeln;

end;

{ нахождение максимальных элементов столбцов }

for i:=1 to m do { цикл по столбцам }

begin

cols_max[i] := A[1, i];

for j:=2 to n do { цикл по строкам }

if A[j, i] > cols_max[i] then

cols_max[i] := A[j, i];

end;

{ нахождение минимальных элементов строк }

for i:=1 to n do { цикл по строкам }

begin

rows_min[i] := A[i, 1];

for j:=2 to m do { цикл по столбцам }

if A[i, j] < rows_min[i] then

rows_min[i] := A[i, j];

end;

f := False;

for i:=1 to n do { цикл по строкам }

for j:=1 to m do { цикл по столбцам }

begin

if (A[i, j] = cols_max[j]) And (A[i, j] = rows_min[i]) then

begin

f := True;

Writeln('Седловая точка: ', A[i, j]:4);

end;

end;

if Not f then writeln('Седловая точка не существует.');

end.

Задача 10

const

MAX = 10;

type

Matr = array [1..MAX, 1..MAX] of integer;

var

m, n : integer;