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

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

Восстановить пароль Регистрация
 
Lass_
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 6
07.01.2014, 04:54     Найти максимальные элементы столбцов матрицы #1
Помогите, пожалуйста, с таким заданием: определить и инициализировать двумерный массив целочисленных элементов, затем [шаг 1] удвоить все положительные четные значения; [шаг 2] с помощью оператора new создать одномерный массив, состоящий из элементов типа double precision floating point, и заполнить его кубами максимальных элементов каждой колонки исходного массива. [шаг 3] вывести оба массива. Удалить второй массив с помощью delete.
В общем, проблема у меня с определением максимума в каждой колонке. Буду очень признательна за помощь.
Пыталась что-то сделать, но получилось не очень. На втором шаге одни нули выбивает.

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
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
    int a1 [5] [4] = {{1, -2, 3, 4}, 
                    {5, 6, 7, -8}, 
                    {9, -10, 11, 12},
                    {13, 14, -15, 26},
                    {27, -28, 29, 20}};
    
    cout << "Step 1:" << endl;
    for (int j = 0; j < 4; j++)
        
            for (int i = 0; i < 5; i++)
        
            if (a1 [i] [j] & 1 && a1 [i] [j] > 0)
            {
                a1 [i] [j] = 2 * (a1 [i] [j]);
            }
    
    for (int k = 0; k < 5; k++)
    
    {
            
                for (int p = 0; p < 4; p++)
                
                cout << a1 [k] [p] << " ";
            cout << endl;
                
    }
        
    
    
    cout << "Step 2:" << endl;
    int *a2 = new int [4];
    
    for (int i = 0; i < 4; i++)
        {
        for (int j = 0; j < 5; j++)
    
    {
            
                int max = 0;    
            if (a1 [i] [j] > max)
                max = a1 [i][j];
        
            
            for (i = 0; i < 4;i++)
                a2 [i] = pow (max, 3);
 
        }
        for (int i = 0; i < 4;i++)
        {   
            cout << a2 [i] << " ";
        cout << endl;
        }
        system ("pause");
        
        delete [] a2;
        return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 04:54     Найти максимальные элементы столбцов матрицы
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,774
07.01.2014, 13:19     Найти максимальные элементы столбцов матрицы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Lass_, вы что-то со скобками напутали, вот так попробуйте:

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
54
int main ()
{
    int a1 [5] [4] = {{1, -2, 3, 4}, 
                    {5, 6, 7, -8}, 
                    {9, -10, 11, 12},
                    {13, 14, -15, 26},
                    {27, -28, 29, 20}};
    
    cout << "Step 1:" << endl;
    for (int j = 0; j < 4; j++)
        
            for (int i = 0; i < 5; i++)
        
            if (a1 [i] [j] & 1 && a1 [i] [j] > 0)
            {
                a1 [i] [j] = 2 * (a1 [i] [j]);
            }
    
    for (int k = 0; k < 5; k++)  
    {       
                for (int p = 0; p < 4; p++)
                cout << a1 [k] [p] << " ";
            cout << endl;
                
    }
    cout << "Step 2:" << endl;
    int *a2 = new int [4];
    int max = 0; 
    for (int i = 0; i < 4; i++)
        {
            max=0;
        for (int j = 0; j < 5; j++)
 
         {
               
            if (a1 [i] [j] > max)
                max = a1 [i][j];
        }
        cout<<"Max,="<<max<<endl;
        a2 [i] = pow (max, 3);
        }
 
 
        for (int i = 0; i < 4;i++)
        {   
            cout << a2 [i] << " ";
        cout << endl;
        }
        system ("pause");
        
        delete [] a2;
        return 0;
 
}
Yandex
Объявления
07.01.2014, 13:19     Найти максимальные элементы столбцов матрицы
Ответ Создать тему
Опции темы

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