Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TheWitcher
1 / 1 / 0
Регистрация: 30.09.2010
Сообщений: 23
#1

Вывести на экран элемент, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или наоборот. - C++

19.11.2011, 20:46. Просмотров 736. Ответов 0
Метки нет (Все метки)

Для матрицы размером NxM вывести на экран все седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или наоборот.
Вот код, вроде работает, но я хотел бы избавиться от min=35678 не задавать min конкретным числом.
Пожалуйста помогите...
C++
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
#include <iostream>
#include <conio.h>
int main()
{
    using namespace std;
    int i,j,n,m,min=35678;
    int max=0,jmin,imax; 
 
    cout<<"vvedi n:=";
                     cin>>n;
        cout<<"vvedi m:=";
          cin>>m;
double  **a;
  a = new double*[n];
    for(i=0; i<n; i++) 
        a[i] = new double[m];
    
        for(i=0; i<n; i++)
        for(j=0; j<m; j++)
          {
          cout<<"a["<< i <<"]["<< j <<"]->";
           cin>>a[i][j];
          }
 
        
          for(i=0; i<n; i++)
          for(j=0; j<m; j++)
              
          {
              if(a[i][j]<=min)
              {
            min=a[i][j];
            jmin=j; 
        
              }
            if(j==m-1)
              {
              for(int k=0; k<m; k++)
            if(a[k][jmin]>max)
            {
                    max=a[k][jmin];
              imax=k;
            }
            if(max==min)
              cout<<"i="<< imax <<"j:="<< jmin <<"-  >"<<a[imax][jmin]<<endl;
          
            min=35678;
        
            max=0;
              }
        }
    for(i=0; i<n; i++) 
    {
          delete [ ]a[i];
      }
   delete [ ]a;
   a=NULL;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2011, 20:46     Вывести на экран элемент, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или наоборот.
Посмотрите здесь:

Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце C++
C++ Если в строке или столбце матрицы только одна единица, то заменить ее нулем
C++ While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.
Вывести на экран координаты элементов матрицы, которые в своей строке наименьшие C++
C++ Поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением
Вывести символ на экран, если он является печатаемым и видимым C++
Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE. C++
C++ Вывести элемент матрицы, расположенный в I-й строке и J-м столбце
Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. C++
В матрице поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением C++
Вывести символ на экран, если он является буквой или цифрой C++
C++ Вывести все элементы, являющиеся максимальными в своем столбце и одновременно минимальными в своей строке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru