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

Обработка матриц - C++

Восстановить пароль Регистрация
 
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
30.11.2013, 23:40     Обработка матриц #1
Имеется код!
C++
1
2
3
4
5
6
7
8
9
10
void maxToArr(int ar[],int matr[][COLS], int nRow, int nCol){
    int max=matr[0][0];
    for(int i=0;i<nRow;i++)
        for(int j=0; j<nCol; j++)
            if(max<matr[i][j]){
                max=matr[i][j];
                ar[i]= max;
              }
 
}
Его задание вывести массив, который состоит из максимальных значений каждой строчки матрицы!
У меня выводит только одно максимальное значение всей матрицы! Как поменять, чтобы выводило максимальное для каждой строчки?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2013, 23:40     Обработка матриц
Посмотрите здесь:

C++ обработка матриц
Обработка матриц C++
C++ Обработка матриц
Обработка двумерных массивов. Обработка матриц C++
Обработка матриц в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FAQEnD
 Аватар для FAQEnD
43 / 43 / 1
Регистрация: 15.12.2012
Сообщений: 88
30.11.2013, 23:56     Обработка матриц #2
когда i увеличивается на 1, нужно обнулить переменную max
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
01.12.2013, 00:26  [ТС]     Обработка матриц #3
Цитата Сообщение от FAQEnD Посмотреть сообщение
когда i увеличивается на 1, нужно обнулить переменную max
Для строк работает!
C++
1
2
3
4
5
6
7
8
9
10
11
12
void maxToArr(int ar[],int matr[][COLS], int nRow, int nCol){
    int max=matr[0][0];
    for(int i=0;i<nRow;i++){
        max=0;
        for(int j=0; j<nCol; j++)
            if(max<matr[i][j]){
                max=matr[i][j];
                ar[i]= max;
            }
        
    }
}
А как теперь преобразовать, чтобы работало для столбцов? Тоесть в массив записать максимальные числа в каждом столбце?
h8er
15 / 15 / 5
Регистрация: 20.11.2013
Сообщений: 92
01.12.2013, 00:33     Обработка матриц #4
C++
1
2
if(max<matr[i*nCol][j]){
                max=matr[i*nCol][j];
под j номер нужного столбца
FAQEnD
 Аватар для FAQEnD
43 / 43 / 1
Регистрация: 15.12.2012
Сообщений: 88
01.12.2013, 00:34     Обработка матриц #5
Цитата Сообщение от yurets17 Посмотреть сообщение
А как теперь преобразовать, чтобы работало для столбцов? Тоесть в массив записать максимальные числа в каждом столбце?
А для столбцов нужно в цикле поменять местами i, j
Вот так:
C++
1
2
3
4
5
6
7
8
9
for(int i=0;i<nRow;i++){
        max=0;
        for(int j=0; j<nCol; j++)
            if(max<matr[j][i]){
                max=matr[j][i];
                ar[i]= max;
            }
        
    }
по идее должно работать
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
01.12.2013, 00:43  [ТС]     Обработка матриц #6
Цитата Сообщение от h8er Посмотреть сообщение
C++
1
2
if(max<matr[i*nCol][j]){
                max=matr[i*nCol][j];
под j номер нужного столбца
имеешь ввиду так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
void maxToArr(int ar[],int matr[][COLS], int nRow, int nCol){
    int max=matr[0][0];
    for(int i=0;i<nRow;i++){
        max=0;
        for(int j=0; j<nCol; j++)
            if(max<matr[i*nCol][j]){
                            max=matr[i*nCol][j];
                ar[i]= max;
            }
 
    }
}
Добавлено через 4 минуты
Цитата Сообщение от FAQEnD Посмотреть сообщение
по идее должно работать
спасибо огромное
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2013, 01:09     Обработка матриц
Еще ссылки по теме:

C++ Обработка матриц
C++ Обработка матриц
C++ Обработка матриц

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

Или воспользуйтесь поиском по форуму:
h8er
15 / 15 / 5
Регистрация: 20.11.2013
Сообщений: 92
01.12.2013, 01:09     Обработка матриц #7
Одним циклом
C++
1
2
        for(int i=0; i<nRow; i++)
                max += matr[i*nCol][j];
В max запишет сумму столбца, j - номер столбца
Yandex
Объявления
01.12.2013, 01:09     Обработка матриц
Ответ Создать тему
Опции темы

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