Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_2_7_8.doc
Скачиваний:
9
Добавлен:
19.09.2019
Размер:
112.13 Кб
Скачать

11 Вариант.

В матрице А(3 строки, 5 столбцов) поменять местами наименьшие элементы во второй и третьей строке.

Для поиска номера наименьшего элемента в произвольном строке матрицы использовать процедуру.

Program z11;

const n=3;m=5;

type matr=array [1..n,1..m] of real;

var min1,min2,i,j:integer;

A:matr;

min:real;

Procedure minimum(var min:integer;A:matr;i:integer);

var j:integer;

mn:real;

begin

min:=1;

mn:=A[i,1];

for j:=1 to m do

if A[i,j]<mn then begin

min:=j;

mn:=A[i,j];

end;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

minimum(min1,A,2);

minimum(min2,A,3);

min:=A[2,min1];

A[2,min1]:=A[3,min2];

A[3,min2]:=min;

for i:=1 to n do

for j:=1 to m do

writeln(A[i,j]);

end.

12 Вариант.

В матрице А(4 строки, 5 столбцов) поменять местами наибольшие элементы в её верхней и нижней половинах.

Для поиска индексов наибольшего элемента в произвольной части матрицы использовать процедуру.

Program z12;

const n=4;m=5;

type matr=array [1..n,1..m] of real;

var maxi1,maxi2,maxj1,maxj2,i,j:integer;

A:matr;

max:real;

Procedure maximum(var maxi:integer;var maxj:integer;A:matr;l1:integer;l2:integer);

var i:integer;

mx:real;

begin

maxi:=1;

maxj:=1;

mx:=A[1,1];

for i:=l1 to l2 do

for j:=1 to m do

if A[i,j]>mx then begin

maxi:=i;

maxj:=j;

mx:=A[i,j];

end;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

maximum(maxi1,maxj1,A,1,trunc(n/2));

maximum(maxi2,maxj2,A,trunc(n/2)+1,n);

max:=A[maxi1,maxj1];

A[maxi1,maxj1]:=A[maxi2,maxj2];

A[maxi2,maxj2]:=max;

for i:=1 to n do

for j:=1 to m do

writeln(A[i,j]);

end.

13 Вариант.

В матрице А(3 строки, 4 столбца) поменять местами наименьшие элементы в её левой и правой половинах.

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

Program z13;

const n=3;m=4;

type matr=array [1..n,1..m] of real;

var mini1,mini2,minj1,minj2,i,j:integer;

A:matr;

min:real;

Procedure minimum(var mini:integer;var minj:integer;A:matr;l1:integer;l2:integer);

var i:integer;

mn:real;

begin

mini:=1;

minj:=1;

mn:=A[1,1];

for j:=l1 to l2 do

for i:=1 to n do

if A[i,j]<mn then begin

mini:=i;

minj:=j;

mn:=A[i,j];

end;

end;

begin

for i:=1 to n do

for j:=1 to m do

readln(A[i,j]);

minimum(mini1,minj1,A,1,trunc(m/2));

minimum(mini2,minj2,A,trunc(m/2)+1,m);

min:=A[mini1,minj1];

A[mini1,minj1]:=A[mini2,minj2];

A[mini2,minj2]:=min;

for i:=1 to n do

for j:=1 to m do

writeln(A[i,j]);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]