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

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

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

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

14.04.2013, 14:41. Просмотров 725. Ответов 3
Метки нет (Все метки)

Дана целочисленная матрица размера 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++ Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с эл
C++ Вывести все элементы, являющиеся максимальными в своем столбце и одновременно минимальными в своей строке
Найти в каждой строке матрицы элемент с максимальным и минимальным значением C++
Дана матрица Е[4,7]. В каждой строке найти и вывести максимальный элемент и сумму отрицательных элементов C++
Нахождение наибольшего элемента в строке и этот элемент должен быть минимальным в столбце C++
Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент C++
C++ дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих хотя бы один нулевой элемент.
Дана действительная квадратная матрица B порядка n.В каждой строке матрицы найти минимальный элемент и поместить его в вектор D. C++
Определить максимальный элемент массива и элемент, являющийся максимальным без учёта этого элемента C++
Найти в строке элементы с максимальным и минимальным значениями и поменять их местами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
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     Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце.
Ответ Создать тему
Опции темы

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