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

Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 11:47     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #1
Разработать функцию, которая для произвольной матрицы находит сумму в каждом рядке матрицы а среди сумм - максимум.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 11:47     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум
Посмотрите здесь:

C++ максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы
Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы C++
Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы C++
Максимум среди сумм элементов диагоналей матрицы: исправить C++
C++ максимум среди сумм элементов диагоналей, параллельной главной диагонали матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
14.01.2013, 11:59     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int get_max_row_sum(int **a, int rows_count, int columns_count)
{
    int max = 0;
    for (int j = 0; j < columns_count; j++)
        max += a[0][j];
 
    for (int i = 1; i < rows_count; i++)
    {
        int s = 0;
        for (int j = 0; j < columns_count; j++)
            s += a[i][j];
        if (s > max) max = s;
    }
 
    return max;
}
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 12:02     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #3
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 "stdafx.h"
#include "iostream"
using namespace std;
 
template <typename t>
t Max(t **arr, int rows, int cols)
{
    t maximum;
 
    for (int y=0; y<rows; y++)
    {
        t summTemp = 0;
 
        for (int x=0; x<cols; x++)
            summTemp = summTemp + arr[y][x];
 
        if (y == 0) maximum = summTemp;
        else
            if (summTemp > maximum)
                maximum = summTemp;
    }
 
    return maximum;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    int **arr, rows, cols;
 
    cout << "Введите количество строк:    ";  cin >> rows;
    cout << "Введите количество столбцов: ";  cin >> cols;
 
    arr = new int*[rows];
    for (int y=0; y<rows; y++) arr[y] = new int[cols];
 
    for (int y=0; y<rows; y++)
        for (int x=0; x<cols; x++)
            arr[y][x] = y + x;
 
    cout << "Max = " << Max(arr, rows, cols) << endl;
 
    system("pause");
    return 0;
}
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 12:32  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #4
валид, не работает.сейчас пробую вариант предложенный первым.

Добавлено через 8 минут
спасайтееее!!!!
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
14.01.2013, 12:34     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #5
спасайте что? тоже не работает? может подскажите что не работает? оба варианта вообще то должны работать...
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 12:36  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #6
во втором варианте после ввода количества строк\столбцов просто завершается программа.вашу функцию никак не могу прикрутить к программе
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
14.01.2013, 12:39     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #7
просто завершается это странно - она должна говорить хоть что нибудь: ошибка может какая-нибудь или еще что то... моя функция - это функция, я не стал писать программу - вы ведь сказали "написать функцию"
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 12:40     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #8
У меня все работает. Только добавил печать самой матрицы
Миниатюры
Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум  
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 12:42  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #9
валид, добавьте, пожалуйста обновленную программу.

Добавлено через 34 секунды
в какой среде запускаете? из под дев_с++ не работает, сейчас постараюсь найти комп с вижуалкой
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
14.01.2013, 12:43     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <stdlib.h>
 
//тут наша функция
 
int main(void)
{
    int a[5][5];
    for (int i = 0; i < 5; i++)
        for (int j = 0; j < 5; j++)
            a[i][j] = i + j;
 
    int max = get_max_row_sum(a, 5, 5);
 
    std::cout << max << std::endl;
 
    system("pause");
    return 0;
}
Добавлено через 24 секунды
afx удалите

Добавлено через 10 секунд
...это я про второй пример
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 12:45     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #11
Для Visual Studio 2010
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include "iostream"
#include "iomanip"
using namespace std;
 
template <typename t>
t Max(t **arr, int rows, int cols)
{
    t maximum;
 
    for (int y=0; y<rows; y++)
    {
        t summTemp = 0;
 
        for (int x=0; x<cols; x++)
            summTemp = summTemp + arr[y][x];
 
        if (y == 0) maximum = summTemp;
        else
            if (summTemp > maximum)
                maximum = summTemp;
    }
 
    return maximum;
}
 
 
 
// ------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    int **arr, rows, cols;
 
    cout << "Введите количество строк:    ";  cin >> rows;
    cout << "Введите количество столбцов: ";  cin >> cols;
 
    arr = new int*[rows];
    for (int y=0; y<rows; y++) arr[y] = new int[cols];
 
    for (int y=0; y<rows; y++)
        for (int x=0; x<cols; x++)
            arr[y][x] = y + x;
 
    for (int y=0; y<rows; y++)
    {
        for (int x=0; x<cols; x++)
            cout << setw(3) << arr[y][x];
        cout << endl;
    }
    cout << endl;
 
    cout << "Max = " << Max(arr, rows, cols) << endl;
 
 
    cout << endl;
    system("pause");
    return 0;
}
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 12:46  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #12
http://***********/view3/3979053/c0b0...18dc26edfe356/
UserAK
70 / 70 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
14.01.2013, 12:48     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #13
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
#include <iostream>
#include <limits.h>
 
template <int row, int col>
int MaxSumOfMatrixRow(int (&matrix)[row][col], int *sum_of_row)
{
    int maxSum(INT_MIN);
    int sum(0);
    for(unsigned r = 0; r < row; r++){
        sum_of_row[r] = 0;
        for(unsigned c = 0; c < col; c++){
            sum_of_row[r] += matrix[r][c];
        }
        if(sum_of_row[r] > maxSum){
            maxSum = sum_of_row[r];
        }
    }
    return maxSum;
}
 
int main()
{
    int matrix[5][4] =  {   {1, 2, 3, 4},
                            {1, 2, 5, 4},
                            {1, 2, 3, 4},
                            {1, 8, 3, 4},
                            {1, 2,-3,-4},};
    int sums[5];
    int MaximumSum = MaxSumOfMatrixRow(matrix, sums);
    // проверка массива с суммами строк
    for(unsigned i = 0; i<5; i++) std::cout<<sums[i]<<std::endl;
 
    // проверка максимальной суммы
    std::cout<<MaximumSum<<std::endl;
    system("pause");
    return 0;
}
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
14.01.2013, 12:52     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #14
ах да, пардон, тогда
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <stdlib.h>
 
//тут наша функция
 
int main(void)
{
    int **a;
    a = new int *[5];
    for (int i = 0; i < 5; i++)
        a = new int[5];
 
    for (int i = 0; i < 5; i++)
        for (int j = 0; j < 5; j++)
            a[i][j] = i + j;
 
    int max = get_max_row_sum(a, 5, 5);
 
    std::cout << max << std::endl;
 
    system("pause");
    return 0;
}
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 12:56  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #15
теперь запускается и сразу закрывается
vxg
Модератор
 Аватар для vxg
2639 / 1650 / 156
Регистрация: 13.01.2012
Сообщений: 6,212
14.01.2013, 12:57     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #16
фильм ужасов. попробуйте вместо систем пауза добавить
C++
1
2
int xxx;
std::cin >> xxx;
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 13:01  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #17
работает, и последняя - просьба раздели эти функции на две отдельные(для вижуалки)
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 13:03     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #18
Цитата Сообщение от ekzamenhelp Посмотреть сообщение
раздели эти функции на две отдельные(для вижуалки)
На какие отдельные? Для разных типов?
ekzamenhelp
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 9
14.01.2013, 13:04  [ТС]     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #19
отдельно для максимума и отдельно для сумм
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 13:07     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 13:07     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум #20
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>
using namespace std;
int func(int * matrix,int n,int m) {
    int * sum;
    int maximum=0;
    sum=new int[m];
    for(int i=0; i<m; i++)
        sum[i]=0;
    for(int j=0; j<m; j++)
        for(int i=0;i<n; i++)
            sum[j]+=matrix[i*n+j];
    maximum=sum[0];
    for(int i=0;i<m;i++)
        if(sum[i]>maximum)
            maximum=sum[i];
    delete [] sum;
    return maximum;
}
int main() {
    int matrix[3][3]=
    {{ 1, 2, 3 },
     { 4, 5, 6 },
     { 7, 8, 9 }};
    setlocale(LC_ALL,"rus");
    cout << "Максимум из сумм по стобцам = " << func(*matrix,3,3);
    getchar();
}
Yandex
Объявления
14.01.2013, 13:07     Разработать функцию, которая находит сумму в каждой строке матрицы, а среди сумм - максимум
Ответ Создать тему
Опции темы

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