Элемент матрицы назовем седловой точкой,если он является минимальным в собственной строке
Элемент матрицы назовем седловой точкой,если он является наименьшим в собственной строке и сразу величайшим в собственном столбце либо,напротив,является величайшим в собственной строке и наименьшим в собственном столбце. Для данной целой матрицы размером n*m напечатать индексы всех ее седловых точек.
Задать свой вопрос1 ответ
Костян Шлейтин
Const
n = 4;
m = 6;
var
a: array[1..n, 1..m] of integer; // главной массив
Rext: array[1..n, 1..2] of integer; // номера столбцов с min и max в строчках
Cext: array[1..2, 1..m] of integer; // номера строк с min и max в столбцах
i, j, amin, amax: integer;
begin
// наполняем массив А случайными числами
Randomize;
writeln('Начальный массив');
for i := 1 to n do
begin
for j := 1 to m do
begin
a[i, j] := random(100) - 50;
write(a[i, j]:4);
end;
writeln;
end;
// Заполняем массив Rext n x 2
for i := 1 to n do
begin
amin := 10000; //заведомо больше a[i,j]
amax := -10000; //заранее меньше a[i,j]
for j := 1 to m do
begin
if amin gt; a[i, j] then begin
amin := a[i, j]; Rext[i, 1] := j
end;
if amax lt; a[i, j] then begin
amax := a[i, j]; Rext[i, 2] := j
end
end;
end;
// Наполняем массив Cext 2 x m
for j := 1 to m do
begin
amin := 10000; //заранее больше a[i,j]
amax := -10000; //заранее меньше a[i,j]
for i := 1 to n do
begin
if amin gt; a[i, j] then begin
amin := a[i, j]; Cext[1, j] := i
end;
if amax lt; a[i, j] then begin
amax := a[i, j]; Cext[2, j] := i
end
end
end;
writeln;
// Разыскиваем седловые точки
writeln('*** Седловые точки ***');
for i := 1 to n do
begin
j := Rext[i, 1];
if Cext[2, j] = i then
write('[', i, ',', j, '] ')
else begin
j := Rext[i, 2];
if Cext[1, j] = i then
write('[', i, ',', j, '] ')
end
end;
writeln
end.
Тестовое решение:
Начальный массив
35 34 -17 -33 20 -29
-8 -31 -4 -20 8 -1
-39 -7 -12 27 42 9
32 13 -17 37 19 -24
*** Седловые точки ***
[2,5]
n = 4;
m = 6;
var
a: array[1..n, 1..m] of integer; // главной массив
Rext: array[1..n, 1..2] of integer; // номера столбцов с min и max в строчках
Cext: array[1..2, 1..m] of integer; // номера строк с min и max в столбцах
i, j, amin, amax: integer;
begin
// наполняем массив А случайными числами
Randomize;
writeln('Начальный массив');
for i := 1 to n do
begin
for j := 1 to m do
begin
a[i, j] := random(100) - 50;
write(a[i, j]:4);
end;
writeln;
end;
// Заполняем массив Rext n x 2
for i := 1 to n do
begin
amin := 10000; //заведомо больше a[i,j]
amax := -10000; //заранее меньше a[i,j]
for j := 1 to m do
begin
if amin gt; a[i, j] then begin
amin := a[i, j]; Rext[i, 1] := j
end;
if amax lt; a[i, j] then begin
amax := a[i, j]; Rext[i, 2] := j
end
end;
end;
// Наполняем массив Cext 2 x m
for j := 1 to m do
begin
amin := 10000; //заранее больше a[i,j]
amax := -10000; //заранее меньше a[i,j]
for i := 1 to n do
begin
if amin gt; a[i, j] then begin
amin := a[i, j]; Cext[1, j] := i
end;
if amax lt; a[i, j] then begin
amax := a[i, j]; Cext[2, j] := i
end
end
end;
writeln;
// Разыскиваем седловые точки
writeln('*** Седловые точки ***');
for i := 1 to n do
begin
j := Rext[i, 1];
if Cext[2, j] = i then
write('[', i, ',', j, '] ')
else begin
j := Rext[i, 2];
if Cext[1, j] = i then
write('[', i, ',', j, '] ')
end
end;
writeln
end.
Тестовое решение:
Начальный массив
35 34 -17 -33 20 -29
-8 -31 -4 -20 8 -1
-39 -7 -12 27 42 9
32 13 -17 37 19 -24
*** Седловые точки ***
[2,5]
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Облако тегов