0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 25
1

Найти элемент матрицы, являющийся максимальным в своей строке и минимальным в своем столбце

05.05.2014, 13:13. Показов 1203. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана целочисленная матрица размера M x N. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. Если такой элемент отсутствует, то вывести 0.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2014, 13:13
Ответы с готовыми решениями:

Найти элемент матрицы, являющийся максимальным в своей строке и минимальным в своем столбце
Дана прямоугольная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в...

Найти элемент, являющийся максимальный в своей строке и минимальным в своем столбце.
Дана целочисленная матрица MxN. Найти элемент, являющийся максимальный в своей строке и минимальным...

Найти в матрице элемент, который min в своей строке и max в своем столбце
Ребята, помогите пожалуйста!!! Нужно в Delphi создать програму, которая будет находить в матрице...

Определить максимальный элемент массива и элемент, являющийся максимальным без учета элемента
Пожалуйста, помогите решить 2-е задачки. 1- Дан массив b, заполненный с клавиатуры. Определить...

8
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.05.2014, 13:31 2
Цитата Сообщение от Белочка17 Посмотреть сообщение
Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце.
Это называется седловая точка, их бывает несколько в матрице. Вам точно нужно найти одну?
1
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 25
05.05.2014, 13:45  [ТС] 3
одну

Добавлено через 13 минут
Puporev, одну
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.05.2014, 13:53 4
Лучший ответ Сообщение было отмечено Белочка17 как решение

Решение

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
var
  Form1: TForm1;
  var a:array of array of integer;
      m,n:integer;
implementation
 
{$R *.dfm}
//создание и заполнение таблицы
procedure TForm1.Button1Click(Sender: TObject);
begin
if (SpinEdit1.Value<=1)or(SpinEdit2.Value<=1) then
 begin
  Showmessage('Не верно введены размеры матрицы');
  exit;
 end;
m:=SpinEdit1.Value;
n:=SpinEdit2.Value;
StringGrid1.RowCount:=m;
StringGrid1.ColCount:=n;
Setlength(a,m,n); //выделим память под матрицу
Showmessage('Введите в таблицу целые числа!');
end;
 
//основная процедура
procedure TForm1.Button2Click(Sender: TObject);
var i,j,k,c,max,jmax,min,imin:integer;
    f:boolean;
begin
//проверим все ли ввели
i:=0;
k:=0;
while(i<n)and(k=0) do
 begin
  j:=0;
  while(j<m)and(k=0) do
   begin
    val(StringGrid1.Cells[i,j],a[j,i],c);
    if c<>0 then k:=1
    else j:=j+1;
   end;
  if k=0 then i:=i+1;
 end;
if k=1 then
 begin
  Showmessage('Не все элементы введены верно, поправьте');
  exit;
 end;
f:=false; //нет седловой точки
i:=0;
while(i<m)and not f 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 f:=true
  else i:=i+1;
 end;
if f then Edit1.Text:='a['+Inttostr(imin+1)+','+
                           Inttostr(jmax+1)+']='+
                           Inttostr(a[imin,jmax])
else Edit1.Text:='0';
end;
Вложения
Тип файла: rar Седловые точки.rar (201.6 Кб, 20 просмотров)
1
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 25
05.05.2014, 14:34  [ТС] 5
Puporev,
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var
  Form1: TForm1;
  var a:array of array of integer;
      m,n:integer;
implementation
 
{$R *.dfm}
//создание и заполнение таблицы
procedure TForm1.Button1Click(Sender: TObject);
begin
if (SpinEdit1.Value<=1)or(SpinEdit2.Value<=1) then
 begin
  Showmessage('Не верно введены размеры матрицы');
  exit;
 end;
m:=SpinEdit1.Value;
n:=SpinEdit2.Value;
StringGrid1.RowCount:=m;
StringGrid1.ColCount:=n;
Setlength(a,m,n); //выделим память под матрицу
Showmessage('Введите в таблицу целые числа!');
end;
выдает ошибку на строку с spinEdit
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.05.2014, 14:38 6
Мне приехать и положить Вам на форму 2 СпинЭдита?

Добавлено через 1 минуту
Так я же архив приложил с рабочей программой
2
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 25
05.05.2014, 14:39  [ТС] 7
Puporev, да нет спасибо
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.05.2014, 14:40 8
Разве программа в архиве не работает?
0
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 25
05.05.2014, 14:44  [ТС] 9
Puporev, все заработала...спасибо вам огромное
0
05.05.2014, 14:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2014, 14:44
Помогаю со студенческими работами здесь

Определить максимальный элемент массива и элемент, являющийся максимальным без учета этого элемента
Дан массив b, заполненный с клавиатуры. Определить максимальный элемент массива и элемент,...

Найти элемент матрицы, являющийся максимальным в своей строке и минимальным в своем столбце
Двумерные массивы(статическое выделение памяти) Дана целочисленная матрица размера M на N. Найти...

Найти элемент матрицы, являющийся максимальным в своей строке и минимальным в своем столбце
Помогите пожалуйста написать программу.. Дана целочисленная матрица размера M × N. Найти...

Найти элемент матрицы, являющийся максимальным в своей строке и минимальным в своем столбце
Дана целочисленная матрица размера M x N. Найти элемент, являющийся максимальным в своей строке и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru