Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vvarg
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 10
#1

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

24.09.2015, 12:17. Просмотров 545. Ответов 3
Метки нет (Все метки)

Задача.
Дана матрица размера M x N . Найти номер её строки с наибольшей суммой элементов и вывести данный номер,а также значение наибольшей суммы.

такая задача уже была,но мне надо ее решить,через функцию void,помогите убрать кучу ошибок,составлял сам просто по примерам,ибо не знаю как,только начали курс С++,пока еще профан,помогите разобраться,если не сложно с комментариями где и что,чтоб понимал.


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
#include "stdafx.h"
#include "iostream"
#include "iomanip"
 
using namespace std;
const int n = 10;
void vvod(int A[n][n])
{
srand(time(0));
int i, j;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
A[i][j] = rand() % 100 - 50;
}
void chet (int A[n][n])
{
 
int i,j,s,smax,imax; float srsum=0;
 
 
for(i=0;i<n;i++)
{s=0;
for(j=0;j<n;j++) { A[i][j]=-5+rand()%10; cout«" "«A[i][j]; s[i]+=A[i][j]; }
cout«endl;
}
smax=s[0];
imax=0; 
for(i=0;i<n;i++) 
{
if(smax<s[i]) { smax=s[i]; imax=i; }
delete [] A[i];
}
cout«"\n i="«imax+1;
cout«"\n S("«imax+1«")="«smax;
delete [] A; 
delete [] s;
cout«endl;
 
}
void vivod(int A[n][n])
{
for (int i = 0; i < n; i++)
for ( int j = 0; j < n; j++)
cout « setw(6) « A[i][j];
cout « endl;
} 
int main()
{
int A[n][n];
vvod(A);
vivod(A);
chet(A);
system("pause");
return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2015, 12:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти номер строки матрицы с наибольшей суммой элементов (C++):

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

В матрице размерностью MxN найти номер строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы - C++
Данная матрица размерности M x N. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей...

Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также - C++
Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также значение наибольшей суммы.

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

Найти и распечатать номер столбца матрицы с наибольшей суммой элементов - C++
Задана матрица целочисленных значений. Найти и распечатать номер столбца с наибольшей суммой элементов. Для ссылок на элементы матрицы...

Найти строки матрицы с наибольшей и наименьшей суммой элементов - C++
Доброго времени суток! Если кто-то может, !!!ПОМОГИТЕ!!! с решением задачи (желательно подробно-детально, чтобы я мог разобраться, как в...

3
Игорь1986
49 / 113 / 29
Регистрация: 08.09.2014
Сообщений: 999
Завершенные тесты: 1
24.09.2015, 12:50 #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 "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL, "Russian"); //подключение поддержки русского языка
    int Ar[20][20]; //обьявление матрицы
    int i, j, max_num = 0, max = 0, sum = 0, m, n; //обьявление переменных
    cout << "Введите число строк ";
        cin >> m;
        cout << "Введите число столбцов ";
            cin >> n;
    cout << "Введите матрицу размерности " << m << " на " << n << "\n"; //запрос на ввод матрицы
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> Ar[i][j]; //чтение элемента матрицы из потока ввода
            if (i == 0) //если строка первая
            {
                sum += Ar[i][j]; //считаем сумму
                max += Ar[i][j]; // по умолчанию считаем что сумма первой строки максимальная
            }
            else sum += Ar[i][j]; //для всех остальных строк просто считаем сумму
        }
        if (sum > max) //если сумма строки больше максимальной
        {
            max = sum;  //максимальному значению присваиваем сумму этой строчки.
            max_num = i; //номер текущей строки присваиваем номеру максимальной строки по умолчанию
        }
        sum = 0; //перед переходом на новую строку обнуляем сумму
    }
    cout << " Матрица \n";
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            cout << Ar[i][j] << "\t"; // вывод матрицы
        cout << endl;
    }
    i = max_num;
    cout << "\nСтрока с максимальной суммой элементов  "; 
    for (j = 0; j < n; j++) cout << Ar[i][j] << " ";
    cout << ", сумма её элементов = " << max << "\n";
    system("pause");
    return 0 ;
}
1
zss
Модератор
Эксперт С++
6531 / 6093 / 2007
Регистрация: 18.12.2011
Сообщений: 15,845
Завершенные тесты: 1
24.09.2015, 13:22 #3
Найти строки матрицы с наибольшей и наименьшей суммой элементов
Правильно формулируйте тему, тогда внизу найдете много интересного.
0
Vvarg
0 / 0 / 0
Регистрация: 03.12.2014
Сообщений: 10
24.09.2015, 18:21  [ТС] #4
спасибо!намного понятнее стало,но при компилировании
выдаёт 2 ошибки, "Ошибка 1 error C2562: main: функция типа "void", возвращающая значение"
а вторая " не удается найти указанный файл" причем вторая ошибка вылетает постоянно,чтобы я не писал,при создании проекта сохраняю всё правильно ,что может быть не так?

Добавлено через 47 минут
и если можно,то объясните как сделать,чтобы вводилось не вручную а рандомом???

Добавлено через 17 минут
а,всё уже не надо,сам разобрался,и спасибо за помощь)
если кому то надо будет такая программа с рандомом-напишите,скину)
0
24.09.2015, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2015, 18:21
Привет! Вот еще темы с ответами:

Найти номер строки матрицы с максимальной суммой элементов - C++
Условие: Дано массив А(4,5). Найти номер К строки с максимальной суммой элементов. Дальше сформировать массив В (4,5) каждый элемент...

Выбрать строку матрицы с наибольшей суммой элементов и каждый отрицательный элемент умножить на номер столбца - C++
Задана матрица Z(5,6). Выбрать строку с наибольшей суммой элементов и вывести элементы этой строки в массив, затем каждый отрицательный...

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

Найти строку прямоугольной матрицы с наибольшей и наименьшей суммой элементов. - C++
1)Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов. Вывести найденные строки и сумму их элементов.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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