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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Maloy
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 13
29.05.2013, 12:42     В каждой строке двумерного массива находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы этого элемента. #1
Здравствуйте) Суть задания такова:
В двумерном массиве X(m,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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# include <iostream.h>
# include <stdlib.h>
# include <time.h>
int ** MakeMatr(int m, int n)
{int **pm;
pm=new int*[m];
for (int i=0; i<m; i++)
{ pm[i]=new int [n];
for (int j=0; j<n; j++)
pm[i][j]=rand()%10-5;
}
return pm;
}
 
 
void main ()
{
int mm,nn;
cout<<"Vvedite razmernost matr:"<<endl;
cin>>mm>>nn;
int ** M =MakeMatr(mm, nn);
int*vmax, *vkol;
vmax= new int[mm];
vkol= new int [mm];
int min, max;
for (int i=0; i<mm; i++)
{
    min=M[i][0];
    kol=0;
    for (int j=1; j<nn; j++)
        if(M[i][j]<min)
        {
           min=M[i][j];
           kol= j;
 
        }
    vmax[i]=min;
    vkol[i]=kol;
}
 
 
 
}
Помогите, пожалуйста, добить программу. Пасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 12:42     В каждой строке двумерного массива находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы этого элемента.
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 16
Регистрация: 28.02.2013
Сообщений: 246
29.05.2013, 12:54     В каждой строке двумерного массива находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы этого элемента. #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
#include <iostream>
 
int main() {
    int **X, n, m, *arr_min, *arr_max;
    std::cout << "n = ";
    std::cin >> n;
    std::cout << "m = ";
    std::cin >> m;
    X = new int*[n];
    for(int i = 0; i < n; ++i)
        X[i] = new int[m];
    
    arr_min = new int[n];
    arr_max = new int[n];
    
    std::cout << "Enter Matrix: " << std::endl;
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < m; ++j)
            std::cin >> X[i][j];
    
    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < m; ++j)
            std::cout << X[i][j] << ' ';
        std::cout << std::endl;
    }
    
    for(int i = 0; i < n; ++i) {
        arr_min[i] = X[i][0];
        arr_max[i] = X[i][0];
    }
    
    for(int i = 0; i < n; ++i) {
        for(int j = 0; j < m; ++j) {
            if(arr_min[i] > X[i][j])
                arr_min[i] = X[i][j];
            if(arr_max[i] < X[i][j])
                arr_max[i] = X[i][j];
        }
    }
    
    
    for(int i = 0; i < n; ++i)
        std::cout << i + 1 << ". Min: " << arr_min[i] << " Max: " << arr_max[i] << std::endl;   
    
    return 0;
}
Maloy
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 13
29.05.2013, 13:02  [ТС]     В каждой строке двумерного массива находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы этого элемента. #3
Ничего себе. Спасибо большое. Буду вчитываться.
Yandex
Объявления
29.05.2013, 13:02     В каждой строке двумерного массива находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы этого элемента.
Ответ Создать тему
Опции темы

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