Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
The Terry
1 / 1 / 0
Регистрация: 06.10.2013
Сообщений: 106
1

Найти все седловые точки матрицы

07.06.2014, 01:56. Просмотров 1062. Ответов 1
Метки нет (Все метки)

Для матрицы А размером NxM вывести на экран все ее седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце, или наоборот.
Если не сложно, то минимальный комментарий, пожалуйста.
Спасибо заранее.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2014, 01:56
Ответы с готовыми решениями:

Найти все седловые точки матрицы
Для заданной целой матрицы размером NxM вывести на экран все ее седловые точки....

Для матрицы А размером NxM вывести на экран все ее седловые точки. Элемент матрицы называется седловой точкой,
Для матрицы А размером NxM вывести на экран все ее седловые точки. Элемент...

Седловые точки
Есть вот такая задача: Элемент матрицы назовем седловой точкой, если он...

Вывести Седловые точки
задание: Матрица А имеет седловую точку Aij,если Aij является минимальным в...

Двумерный массив. Седловые точки
Приветствую всех, помогите пожалуйста в решении: Дана матрица А размером m на...

1
Puporev
Модератор
54686 / 42104 / 29072
Регистрация: 18.05.2008
Сообщений: 99,362
07.06.2014, 07:38 2
Лучший ответ Сообщение было отмечено The Terry как решение

Решение

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
type matr=array of array of integer; //динамический двумерный массив
var
  Form1: TForm1;
  var a:matr;
      m,n:integer;
implementation
 
{$R *.dfm}
//процедура поиска седловых точек
procedure sedl(a:matr;m,n:integer;Mem:TMemo);
var i,j,k,max,min,jmax,jmin,imax,imin:integer;
    f:boolean;
begin
f:=false; //нет седловых точек
for i:=0 to m-1 do //проверяем на максимальные в строке и минимальные в столбце
 begin
  max:=a[i,0];jmax:=0;
  for j:=0 to n-1 do
  if a[i,j]>max then
   begin
    max:=a[i,j];
    jmax:=j;
   end;
  min:=a[0,jmax];
  imin:=0;
  for k:=0 to m-1 do
  if a[k,jmax]<min then
    begin
      min:=a[k,jmax];
      imin:=k;
    end;
  if imin=i then
   begin
    f:=true;
    Mem.Lines.Add('Седловая точка ['+Inttostr(imin+1)+','+Inttostr(jmax+1)+']='+Inttostr(a[imin,jmax]))
   end;
  min:=a[i,0];jmin:=0;//проверяем наоборот
  for j:=0 to n-1 do
  if a[i,j]<min then
   begin
    min:=a[i,j];
    jmin:=j;
   end;
  max:=a[0,jmin];
  imax:=0;
  for k:=0 to m-1 do
  if a[k,jmin]>max then
    begin
      max:=a[k,jmin];
      imax:=k;
    end;
  if imax=i then
   begin
    f:=true;
    Mem.Lines.Add('Седловая точка ['+Inttostr(imax+1)+','+Inttostr(jmin+1)+']='+Inttostr(a[imax,jmin]))
   end;
 end;
if not f then  Showmessage('Седловых точек нет!'); //если не нашли ни одной
end;
 
 //создание и заполнение таблицы
procedure TForm1.Button1Click(Sender: TObject);
begin
if (SpinEdit1.Value=0)or(SpinEdit2.Value=0) then
 begin
  Showmessage('Вы не ввели размеры матрицы');
  exit;
 end;
m:=SpinEdit1.Value;
n:=SpinEdit2.Value;
StringGrid1.RowCount:=m;
StringGrid1.ColCount:=n;
Showmessage('Введите в таблицу целые числа!');
end;
 
//основная процедура
procedure TForm1.Button2Click(Sender: TObject);
var i,j,k:integer;
begin
//проверим все ли ввели
i:=0;
k:=0;
while(i<n)and(k=0) do
 begin
  j:=0;
  while(j<m)and(k=0) do
  if StringGrid1.Cells[i,j]='' then k:=1
  else j:=j+1;
  if k=0 then i:=i+1;
 end;
if k=1 then
 begin
  Showmessage('Вы заполнили не все ячейки таблицы');
  exit;
 end;
Setlength(a,m,n); //выделим память под матрицу
for i:=0 to m-1 do
for j:=0 to n-1 do
a[i,j]:=StrToInt(StringGrid1.Cells[j,i]);//заполним ее числами из таблицы
Sedl(a,m,n,Memo1);
end;
0
Вложения
Тип файла: rar Седловые точки.rar (202.6 Кб, 32 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2014, 07:38

Среди множества точек найти ту, которая будет являться центром окружности, внутри которой будут все точки
Дано: среди множества точек, найти ту, которая будет являться центром...

Найти номер точки из множества В, наиболее близкой от точки А
Дана точка А и множество В из N точек. Найти номер точки из множества В,...

Найти количество строк матрицы, все элементы которых положительные
В матрице 6х3 найти кол-во строк все элементы которых положительны.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru