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

Определить номера строк и столбцов всех седловых точек матрицы - C++

Восстановить пароль Регистрация
 
Fessnik
0 / 0 / 0
Регистрация: 02.04.2009
Сообщений: 42
28.02.2010, 14:40     Определить номера строк и столбцов всех седловых точек матрицы #1
Помогите немогу решить контрольную по с++ ,задание такое

Дана целочисленная прямоугольная матрица.Определить:
1) Количество отрицательных элементов в тех строках,которые содержат хотя бы один нулевой элемент
2)Номера строк и столбцов всех седловых точек матрицы

Матрица А имеет седловую точку Aij ,если Aij являеться минимальным элементом в i-й строке и максимальным в j-м столбце
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 14:40     Определить номера строк и столбцов всех седловых точек матрицы
Посмотрите здесь:

C++ Номера строк и столбцов всех седловых точек матрицы
Найти номера строк и столбцов всех Седловых точек матрицы C++
Подскажите где ошибка (номер строк и столбцов всех седловых точек матрицы) C++
C++ Определить номера строк и столбцов всех седловых точек матрицы
C++ Определить номера строк и столбцов всех седловых точек матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pryda
Неадекват и грубиян
 Аватар для pryda
291 / 285 / 76
Регистрация: 22.02.2010
Сообщений: 627
28.02.2010, 15:15     Определить номера строк и столбцов всех седловых точек матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
1 часть:
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
#include <iostream>
using namespace std;
 
#define N 3
#define M 5
 
int main()
{
    int iMatrix[N][M]={0}, iCount;
    for (int i=0; i<N; i++)
        for (int j=0; j<M; j++){
        cout << "Enter Matrix[" << i+1 << "][" << j+1 << "]: ";
        cin >> iMatrix[i][j];}
    for (int i=0; i<N; ++i){
        iCount = 0;
    for (int j=0; j<M; ++j){
        if (iMatrix[i][j]==0){
        for (int j=0; j<M; j++) 
        if (iMatrix[i][j]<0) iCount++;
        cout << "Negative elements in row " << i+1 << ": " << iCount << endl;
        break;}     
    }}
    return 0;
}
Fessnik
0 / 0 / 0
Регистрация: 02.04.2009
Сообщений: 42
02.03.2010, 09:24  [ТС]     Определить номера строк и столбцов всех седловых точек матрицы #3
Спасибо за первое задание.Помогите со вторым вобще непойму как его делать
YAUHEN
145 / 127 / 6
Регистрация: 29.07.2008
Сообщений: 506
02.03.2010, 10:12     Определить номера строк и столбцов всех седловых точек матрицы #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
int main()
{
    using namespace std;
    int a[20][20],i,j,n,m;
    int max=0,min=32565,jmin,imax; 
        cout<<"vvedi n:=";
                     cin>>n;
        cout<<"vvedi m:=";
          cin>>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=32565;
            max=0;
            }
              }
return 0;
}
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
02.03.2010, 10:37     Определить номера строк и столбцов всех седловых точек матрицы #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сегодня ночью написал, работает вроде правильно, но если кто найдет ошибки пишите, исправлю
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
void SaddlePoint(double** matr, int rowCount, int columnCount)
{
    int i = -1, j = 0;
    int jmin = 0;
    bool one;
  row:
    ++i;
    if(i == rowCount)
        goto end;
    jmin ^= jmin;
      column:
        one = true;
        for(j = jmin; j < columnCount; ++j)
        {
            if(matr[i][j] == matr[i][jmin])
                one = false;
            if(matr[i][j] < matr[i][jmin])
            {
                jmin = j;
                one = true;
            }
        }
        for(j ^= j; j < rowCount; ++j)
            if(matr[i][jmin] < matr[j][jmin])
                if(one)
                    goto row;
                else
                    goto column;
        std::cout<<"Saddle Point\ni = "<<i<<"\t j = "<<jmin<<std::endl;
 
        if(jmin + 1 >= columnCount)
            goto row;
        else
            jmin++;
        if(one)
            goto row;
        else
            goto column;
      end:;
}
Fessnik
0 / 0 / 0
Регистрация: 02.04.2009
Сообщений: 42
03.03.2010, 20:12  [ТС]     Определить номера строк и столбцов всех седловых точек матрицы #6
Спасиба ребят,проверить пока немагу щас на кампе нефиги нема чистый винт.
Yandex
Объявления
03.03.2010, 20:12     Определить номера строк и столбцов всех седловых точек матрицы
Ответ Создать тему
Опции темы

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