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

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

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

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

14.04.2013, 14:41. Просмотров 771. Ответов 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();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 14:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана целочисленная матрица. Найти элемент, являющийся максимальным в своей строке и минимальным в своем столбце. (C++):

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

Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с эл - C++
Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.

Вывести все элементы, являющиеся максимальными в своем столбце и одновременно минимальными в своей строке - C++
Привет всем. Помогите начинающему. Двумерный массив. Найти седловую точку. Задана матрица N*M. Вывести все элементы, являющиеся...

Найти в каждой строке матрицы элемент с максимальным и минимальным значением - C++
Дана матрица F(4,4). Найти в каждой строке матрицы элемент с максимальным и минимальным значением. Поставьте максимальный элемент на первое...

Дана матрица Е[4,7]. В каждой строке найти и вывести максимальный элемент и сумму отрицательных элементов - C++
Дана матрица Е. В каждой строке найти и вывести максимальный элемент и сумму отрицательных элементов. Если эта сумма меньше -20, то все...

Нахождение наибольшего элемента в строке и этот элемент должен быть минимальным в столбце - C++
a)Матрица задана формулой A=0.1*(N*N-pow((j-N/2+0.2),2))*pow((i-N/2-0.3),2); Нужно вывести вектор x из пункта б б)Элемент матрицы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
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;
}
0
Dmitry0150
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 50
14.04.2013, 16:39  [ТС] #3
Спасибо, Olivеr, но после запуска вашей она исчезает и на ее месте появляется какой-то другой код. А не могли бы вы написать условие в мою программу где я вопросы поставил?
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
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
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 19:40
Привет! Вот еще темы с ответами:

дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих хотя бы один нулевой элемент. - C++
помогите срочно!!! Надо написать прогу. Вот условие: дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих...

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

Дана действительная квадратная матрица B порядка n.В каждой строке матрицы найти минимальный элемент и поместить его в вектор D. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №6) Дана действительная квадратная матрица B порядка n.В каждой строке матрицы найти...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
14.04.2013, 19:40
Ответ Создать тему
Опции темы

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