1)Дана матрица размером M * N. В каждой строке матрицы отыскать

1)Дана матрица размером M * N. В каждой строке матрицы отыскать малый элемент и наибольший из найденного.2)дана матрица размерами N * N. Поменять местами столбец с наибольшим и столбец содержащий минимальное количество нулевых элементов. Использовать три процедуры (заполнение, смена, вывод).

Задать свой вопрос
1 ответ

1)

program Example;
const
m=6; //количество столбцов
n=5; //количество строк
minM=-10; //малое число в матрице
maxM=10; //максимальное число в матрице
var
i,j:integer;
A : array [1..M, 1..N] of integer;
min,max:integer;
begin
randomize;
writeln(Сгенерированная матрица , M, x, N, :);
for i := 1 to M do begin
for j := 1 to N do begin
a[i, j] := minM + random(maxM-minM+1);
write(a[i, j]:4)
end;
writeln;
end;
writeln(Минимальный и максимальный элементы в строках:);
for i := 1 to M do begin
min := a[i, 1]; //начальное значание для малого значения
max := a[i, 1]; //начальное значание для наибольшего значения
for j := 2 to N do
begin
if a[i, j] lt; min then min := a[i, j];
if a[i, j] gt; max then max := a[i, j];
end;
write(В ,i, строке: );
write(минимальный элемент = , min);
writeln( наибольший элемент = , max);
end;

end.

 

2) 

program Example;
const
m=6; //количество столбцов
n=5; //количество строк
minM=-2; //минимальное число в матрице
maxM=2; //наибольшее число в матрице
var
i,j:integer;
A : array [1..M, 1..N] of integer;
min,max:integer;
numMin, numMax, k, Kmin,Kmax:integer;

procedure gen();
begin
randomize;
for i := 1 to M do begin
for j := 1 to N do begin
a[i, j] := minM + random(maxM-minM+1);
end;
end;
end;

procedure print();
begin
writeln(Матрица , M, x, N, :);
for i := 1 to M do begin
for j := 1 to N do begin
write(a[i, j]:4)
end;
writeln;
end;
end;


procedure change();
var
t:integer;
begin
for i := 1 to M do begin
t:=a[i, numMin];
a[i, numMin]:=a[i, numMax];
a[i, numMax]:=t;
end;
end;

begin

gen();
print();
numMin:=1; //начальный номер столбца
numMax:=1;
Kmin:=M;
Kmax:=0;

for j := 1 to N do begin
k:=0;
for i := 1 to M do
begin
if a[i, j] = 0 then k:=k+1;
end;
if klt;Kmin then
begin
Kmin:=k;
numMin:=j;
end;
if kgt;Kmax then
begin
max:=k;
numMax:=j;
end;
end;

change();
print();
end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт