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

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

Восстановить пароль Регистрация
 
Dmitry0150
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 50
14.04.2013, 14:41     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. #1
Дана целочисленная матрица размера M x N. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце.

Помогите написать условие

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
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
using namespace std;
int main()
{
const n=6;
const m=7;
int A[n][m];
int i,j;
randomize();
for (i=0;i<n;i++)
for (j=0;j<m;j++)
  {
   A[i][j]=random(100);
  }
for(i=0;i<n;i++)
{
printf("\n");
 for(j=0;j<m;j++)
     printf("%4d ",A[i][j]);
}
 
[B]????????????????[/B]
 
  getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 14:41     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце.
Посмотрите здесь:

Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце C++
C++ дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих хотя бы один нулевой элемент.
Дана действительная квадратная матрица B порядка n.В каждой строке матрицы найти минимальный элемент и поместить его в вектор D. C++
C++ Найти одномерный массив В из сумм элементов каждой строки матрицы
Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
14.04.2013, 15:27     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. #2
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
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#include <iterator>
 
//максимальный в строке и одновременно минимальный в столбце элемент
 
using namespace std;
 
typedef int vecType;
typedef vector<vecType> oneDimenVec;
typedef vector<oneDimenVec> twoDimenVec;
 
vecType random()
{
    return rand() % 200;
}
 
vecType getColumnMin(twoDimenVec &vec, const size_t colNum)
{
    vecType min = 0;
    for(size_t i = 1; i!=vec.size(); i++)
        if (vec[i][colNum] < vec[min][colNum])
            min = i;
    return min;
}
 
int main()
{
    srand(time(0));
    unsigned rows, cols;
    cout << "strings: ";
    cin >> rows;
    cout << "columns: ";
    cin >> cols;
    twoDimenVec vec(rows, oneDimenVec(cols));
 
    for (size_t i = 0; i!=vec.size(); i++) {
        generate(vec[i].begin(), vec[i].end(), random);
        copy(vec[i].begin(), vec[i].end(), ostream_iterator<vecType>(cout, " "));
        cout << endl;
    }
 
    for (size_t i = 0; i!=vec.size(); i++) {
        size_t maxIndex = distance(vec[i].begin(), max_element(vec[i].begin(), vec[i].end()));
        if (vec[i][maxIndex] == vec[getColumnMin(vec, maxIndex)][maxIndex])
            cout << vec[i][maxIndex] << endl;
    }
 
    return 0;
}
Dmitry0150
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 50
14.04.2013, 16:39  [ТС]     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. #3
Спасибо, Olivеr, но после запуска вашей она исчезает и на ее месте появляется какой-то другой код. А не могли бы вы написать условие в мою программу где я вопросы поставил?
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
14.04.2013, 19:40     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. #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
41
42
43
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
 
using namespace std;
 
typedef int arrType;
 
int main()
{
    srand(time(0));
 
    const size_t rows = 6;
    const size_t cols = 7;
 
    arrType A[rows][cols];
 
    for (size_t i = 0; i!=rows; i++, cout << endl)
        for (size_t j = 0; j!=cols; j++) {
            A[i][j]=rand() % 1000;
            cout << setw(4) << A[i][j];
        }
 
    for (size_t i = 0; i!=rows; i++) {
 
        size_t maxElemIndex(0); //max in row (column index)
        for (size_t j = 1; j!=cols; j++)
            if (A[i][j] > A[i][maxElemIndex])
                maxElemIndex = j;
 
        size_t minElemIndex(0); //min in column (row index)
        for (size_t j = 1; j!=rows; j++)
            if (A[j][maxElemIndex] < A[minElemIndex][maxElemIndex])
                minElemIndex = j;
 
        if (A[i][maxElemIndex] == A[minElemIndex][maxElemIndex])
            cout << "Find : " << A[i][maxElemIndex] << endl;
    }
 
    cin.get();
    return 0;
}
863 111 143 718 145 737 589
813 349 679 716 676 821 713
254 697 969 940 202 433 652
262 337 146 56 241 233 402
260 266 711 324 477 369 402
45 283 278 86 586 790 818
Find : 402
Yandex
Объявления
14.04.2013, 19:40     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце.
Ответ Создать тему
Опции темы

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