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

Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный - C++

Войти
Регистрация
Восстановить пароль
 
sys
Сообщений: n/a
20.03.2011, 22:59     Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный #1
Вообщем.
Есть двумерный массив(матрица) Matrix[4]][6] и одномерный массив pi[6]

1 часть
Заполняем массив pi
2,3,4,7,8,9
Заполняем Matrix числами
Например:

26 10 31 10 30 31
36 19 15 14 39 5
10 20 41 36 40 41
46 24 20 40 31 19

Задание. первый элемент массива pi умножить на первый столбец массива Matrix.
Т.е.
2 * 26, 2 * 36, 2 * 10, 2 * 46.
3 * 10, 3 * 19, 3 * 20, 3 * 24
И т.д.

2 часть
На выходе необходимо получить уже готовую матрицу с результатом
Т.е.
52 30
72 57
20 60
92 72 и тд.

Затем из данной матрицы, из 6 столбцов выбрать максимальные элементы, сравнить их и выписать самый максимальный.

Мой код:
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
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
        float Matrix[4][6];
        int Max_Element=0,n=0;
    int Pi[6];
    int Mass_min[6];
    
 
         for(int i=0; i<6; i++)
            {
                cout <<"Заполните pi  ";
                cin>>Pi[i];
            }   
        
                for(int i=0;i<4;i++)
                {
                        for(int j=0;j<6;j++)
                        {
                                cout<<"Матрица["<<i<<"]["<<j<<"]= ";
                                cin>>Matrix[i][j];
                
            }
            
                }
 
        for(int i=0;i<4;i++)
                {
                        for(int j=0;j<6;j++)
                        {
                                cout<<Matrix[i][j]<<"\t";
                        }
            cout<<endl;
            
                }
    return 0;
}
Как выполнить проверку на самый максимальный элемент, сделал так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for(int i=0;i<6;i++) //main cycle for "line"
                        {
                               Max_Element=Matrix[n][i];
                                for(int j=0;j<4;j++)    // columns
                                {
                                        if(Max_Element<Matrix[j][i])
                                        {
                                                Max_Element=Matrix[j][i];
                                        }
                                }
                                cout<<"Максимальный элемент в "<<n<<" столбце = "<<Max_Element<<endl;
                                        if(n<4)
                                        {
                                                n++;
                                        }
                        }
Непойму как правильно реализовать механизм для второй части, чтобы получить готовую матрицу с умножением(результатом). Могли-бы пожалуйста подсказать.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2011, 22:59     Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный
Посмотрите здесь:

C++ Для прямоугольной матрицы найти минимальные и максимальные элементы
C++ Найти в каждом столбце матрицы максимальный и минимальный элементы и вывести на печать в виде двух строк
C++ Найти максимальные и минимальные элементы матрицы и их кординаты
Поменять местами строки, содержащие минимальные и максимальные элементы матрицы C++
C++ Максимальные элементы строк матрицы
C++ Найти максимальные элементы каждой строки двумерной матрицы
Максимальные элементы столбцов матрицы C++
Найти максимальные элементы столбцов матрицы C++
C++ Вывести на экран максимальные элементы в каждом столбце двумерного массива
Найти максимальные элементы каждой строки матрицы и просуммировать их C++
Сортировать максимальные элементы матрицы перестановкой C++
C++ Выведите на экран максимальные и минимальные элементы каждой строки матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
slava_g1
 Аватар для slava_g1
70 / 70 / 8
Регистрация: 06.02.2011
Сообщений: 127
21.03.2011, 00:14     Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный #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
#include<iostream>
#include<ctime>
using namespace std;
const int size=6;
const int size1=4;
void Print(int arr[size],int marr[size1][size],int marr1[size1][size]){ 
    for(int i=0;i<size1;i++){
        for(int j=0;j<size;j++){
            cout<<marr[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<"\n***********************\n";
    for(int i=0;i<size;i++){
        cout<<arr[i]<<"\t";
    }
    cout<<"\n***********************\n";
    for(int i=0;i<size1;i++){
        for(int j=0;j<size;j++){
            cout<<marr1[i][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<"\n***********************\n";
}
void main(){
    srand(time(0));
    int marr[size1][size];
    int arr[size]={2,3,4,6,8,9};//заполнение одномерного массива
    for(int i=0;i<size1;i++){
        for(int j=0;j<size;j++){
            marr[i][j]=rand()%10;//заполнение первого многомерного массива
        }
    }
    int marr1[size1][size];
    for(int i=0;i<size;i++){
        for(int j=0;j<size1;j++){
            marr1[j][i]=arr[i]*marr[j][i];//заполнение второго многомерного массива(умноением)
        }
    }
    int max=marr[0][0];
    for(int i=0;i<size1;i++){
        for(int j=0;j<size;j++){
            if(marr1[i][j]>max){
                max=marr1[i][j];//Поиск максимального значения в многомерном массиве
            }
        }
    }
    Print(arr,marr,marr1);
    cout<<"Max value is : "<<max<<endl;
}
Спасибо ниже.
sys
Сообщений: n/a
21.03.2011, 02:08     Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный #3
Прошу не закрывать тему, т.к. в ближайшее время могут возникнуть вопросы, по-подобному типу задач.
PS: Спасибо за пример, разобрался.
Yandex
Объявления
21.03.2011, 02:08     Выбрать максимальные элементы матрицы, сравнить их и вывести самый максимальный
Ответ Создать тему
Опции темы

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