Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 9

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

27.11.2020, 17:05. Показов 6065. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа и дамы, возникла проблема с решением задачи, помогите, пожалуйста, разобраться:

Если в квадратной матрице номер столбца с максимальной суммой элементов совпадает с номером строки с максимальной суммой элементов, найти общую сумму элементов найденных строки и столбца, иначе — вывести номера найденных строки и столбца.


Мне хватит только кода, но было бы очень любезно с Вашей стороны оставить пару комментариев, но можно и без них. Заранее спасибо!

Добавлено через 3 минуты
И по возможности листинг программы. Необязательно, но крайне желательно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2020, 17:05
Ответы с готовыми решениями:

Найти и вывести номер столбца матрицы с максимальной суммой элементов
Задана матрица А размера 4х4 с вещественными элементами. Требуется найти и вывести на печать номер столбца с максимальной суммой элементов....

Найти номер строки матрицы с максимальной суммой элементов
4Решите плиз, на Dev-C++ Ввести с клавиатуры целочисленную матрицу размера 4X4. Найти номер строки матрицы с максимальной суммой...

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

11
41 / 26 / 17
Регистрация: 11.11.2019
Сообщений: 92
27.11.2020, 17:07
Мы тут любим либо помогать разбирать код, что не получился, и пытаться его исправить, объяснив, что не так. Либо можем просто кратко рассказать, что Вам потребуется для решения.
Что больше устраивает?
0
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 9
27.11.2020, 17:11  [ТС]
Я довольно плохо разбираюсь в C++, да и в программировании в целом, поэтому мне больше подойдет вариант рассказа о том, что мне может потребоваться для решения задачи. И, пожалуйста, ведите себя со мной как с совсем маленьким. Правда, я очень плох
0
41 / 26 / 17
Регистрация: 11.11.2019
Сообщений: 92
27.11.2020, 17:17
Цитата Сообщение от Sokowl Посмотреть сообщение
ведите себя со мной как с совсем маленьким
Как скажите.

Если у Вас совсем плохо с С++, начините с основ: Ввод-вывод и переменные.
Затем изучите условия и операторы.
После переходите к циклам.

Когда освоите всё, что я перечислил, приступайте к изучению одномерных массивов (для начала статических достаточно).
Сделайте вывод суммы всех элементов одномерного массива.

После приступайте к двумерному массиву.
Двумерный массив - это матрица.

Таким образом, собрав знания, вы сумеете написать эту программу.
0
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 9
27.11.2020, 17:19  [ТС]
Спасибо, последую Вашим советам! Можете напоследок подсказать лекции/видео/курсы на ютубе, которые не потеряли актуальности? Или быть может другие актуальные источники информации (желательно для новичков)?
0
41 / 26 / 17
Регистрация: 11.11.2019
Сообщений: 92
27.11.2020, 17:26
Литература C++ - Вам нужно сообщение с пометкой "Hello, World!". Там все необходимые книги.
Видео - можете открыть любого индуса, у которого написано "easy C++", "Learn c++" и всё в этом духе. Также в интернете полно инструкций. Просто вводите перечисленные мною слова, добавив "с++", и тогда сможете почитать и поделать, как там написано.
Всё будет актуально до тех пор, пока языком пользуются
0
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 9
19.12.2020, 07:38  [ТС]
Господа и дамы, возникла проблема с решением задачи, помогите, пожалуйста, разобраться:

Если в квадратной матрице номер столбца с максимальной суммой элементов совпадает с номером строки с максимальной суммой элементов, найти общую сумму элементов найденных строки и столбца, иначе — вывести номера найденных строки и столбца.


Нужно сделать возможность ввода количества строк и столбцов с клавиатуры, проверку на корректность вводимых чисел (больше нуля, int)

У меня получилось так и visual studio ругается и не дает даже запустить программу! Пожалуйста, помогите! В идеале - напишите, пожалуйста, код или покажите как исправить ошибки в этом. Заранее благодарю!

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
int rows ;
    int cols ;
 
    cout << "Введите количество строк:" << endl;
    
 
    if (cin >> rows) {
        cout << "Ваше значение принято и равно: "<< rows << endl;
    }
    else {
        cout << "Incorrect input" << endl;
    }
 
    cout << "Введите количество столбцов:" << endl;
    
 
    if (cin >> cols) {
        cout << "Ваше значение принято и равно: " cols << endl;
    }
    else {
        cout << "Incorrect input" << endl;
    }
 
    if (rows != cols && rows <= 0)
    {
        cout << "Некорректный ввод";
    }
 
    int **arr = new int* [rows];
 
    for (int i = 0; i < rows; i++)
    {
        arr[i] = new int[cols];
    }
    
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            arr[i][j] = rand();
        }
    }
 
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            cout << arr[i][j] << "\t";
        }
        cout << endl;
    }
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
19.12.2020, 08:57
Цитата Сообщение от Sokowl Посмотреть сообщение
В идеале - напишите, пожалуйста, код или покажите как исправить ошибки в этом
в идеале:
оформляя пост, применяйте тэги форматирования кода (см. значок С++ в окне написания поста),
если ругается, то описывайте, как ругается - чтобы получать ответы по существу вашего непонимания, что он вам говорит,
ошибок в вашем коде как таковых нет, но вы выложили не всё, забыв пару строк, - что у вас ругалось я не знаю -
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
#include <iostream>
 
using namespace std;
 
int main(int argc, const char *argv[])
{
 int rows ;
 int cols ;
// ввод
 cout << "input raws qty: " << endl;
 if (cin >> rows)   cout << "Ваше значение принято и равно: "<< rows << endl;
 else   cout << "Incorrect input" << endl;
 
 cout << "input cols qty: " << endl;
 if (cin >> cols)   cout << "Ваше значение принято и равно: " << cols << endl;
 else   cout << "Incorrect input" << endl;
 
 if (rows != cols && rows <= 0)     cout << "Некорректный ввод";
 
// создание 2-мерного массива
 int **arr = new int* [rows];
 for (int i = 0; i < rows; i++)
 {
    arr[i] = new int[cols];
 }
// заполнение 2-мерного массива
 for (int i = 0; i < rows; i++)
 {
    for (int j = 0; j < cols; j++)
     {
        arr[i][j] = rand();
     }
 }
// вывод
 for (int i = 0; i < rows; i++)
 {
     for (int j = 0; j < cols; j++)
     {
        cout << arr[i][j] << "\t";
     }
     cout << endl;
 } 
    return 0;
}
... доп. функционал кода, который вам нужен - доделайте, пожалуйста, до вашего идеала...

Добавлено через 8 минут
ВАЖНО: если в коде делаете new, то должен быть и delete
C++
1
2
3
4
5
6
7
8
    // освобождение памяти
    // For every call to new[], you're supposed to match it with delete[], 
    // Free each sub-array
    for(int i = 0; i < rows; ++i) {
        delete[] arr[i];   
    }
    // Free the array of pointers
    delete[] arr;
Добавлено через 59 секунд
можно в конце кода перед return 0;
1
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 9
19.12.2020, 09:05  [ТС]
Спасибо Вам большое, очень помогли! Но я все еще не понимаю как выполнить основную часть задания: нахождение максимальной суммы элементов среди строк и максимальной суммы элементов среди столбцов? Вы можете, пожалуйста, мне с этим помочь?
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
19.12.2020, 09:27
только условие строки #18 я бы сделала так
C++
1
2
3
4
 if ( rows <= 0 || rows != cols) {
    cout << "Некорректный ввод" << endl;
    return 0;    // выход из программы
 }
- ведь если некорректные нач. данные, то уже можно выходить из программы...

Добавлено через 9 минут
Цитата Сообщение от Sokowl Посмотреть сообщение
выполнить основную часть задания: нахождение максимальной суммы элементов среди строк и максимальной суммы элементов среди столбцов? Вы можете, пожалуйста, мне с этим помочь?
пройтись по строкам и суммировать элементы типа sum+=arr[i][j], итерируя только индекс i
пройтись по столбцам и суммировать элементы типа sum+=arr[i][j], итерируя только индекс j
одновременно можно сразу после цикла суммирования по строке/столбцу делать проверку if (sum>maxR) maxR=sum и, если надо, заносить в переменную номер строки с максимумом... для столбцов также - только свой максимум maxC...
если же я всё сделаю за вас, то это будет не помощь!... описанием алгоритма помогла
0
0 / 0 / 0
Регистрация: 27.11.2020
Сообщений: 9
19.12.2020, 09:30  [ТС]
Да я прекрасно понимаю, что если Вы все сделаете за меня, то в долгосрочной перспективе - мне это не поможет. Разумеется, будь у меня больше времени, я разобрался бы сам. Но мне через час сдавать эту работу и моих навыков никак не хватит, что бы это сделать. Я даже почти не понял ваших слов про итерации и индексы....
0
262 / 151 / 33
Регистрация: 29.06.2019
Сообщений: 1,515
19.12.2020, 14:26
Цитата Сообщение от JeyCi Посмотреть сообщение
пройтись по строкам и суммировать элементы типа sum+=arr[i][j], итерируя только индекс i
индекс i поправка j... и по столбцам наоборот i суммировать при каждом j постоянном,
"итерировать" от слова итератор (можно гуглить) - идти по элементам циклом, например
C++
1
2
3
4
5
for (int i = 0; i < rows; i++) // цикл по строкам или итерирование строк
{
/* ... здесь циклом просуммировать все элементы строки 
 - т.е. ещё 1 цикл по столбикам каждой одной строки нужен!..*/
}
Добавлено через 3 минуты
вы в принципе так уже ходили в вашем коде... только добавьте нужные вам действия с элементами

Добавлено через 4 минуты
кстати i и j - это индексы (номер позиции)

Добавлено через 4 часа 27 минут
так и не написали ?
Цитата Сообщение от Sokowl Посмотреть сообщение
Но мне через час сдавать эту работу
- ваша работа над ошибками - вставить до освобождения памяти
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
     // максимум по строкам
     int maxR=0;
     int idR;
     int sum;
     for (int i = 0; i < rows; i++)     // итерирование строк i++
     {
         sum=0;      
        for (int j = 0; j < cols; j++)
         {
            sum+=arr[i][j];
         }
         if (sum>maxR) {
            maxR=sum;
            idR=i+1;    // +1 т.к. счёт i от 0
         }
     }
     cout << "max: " << maxR << " in row: " << idR << endl;
     
     // максимум по столбцвм
     int maxC=0;
     int idC;
     // int sum;    // уже не надо объявлять, т.к. уже объявляли выше и снова используете эту переменную
     for (int j = 0; j < cols; j++)     // итерирование столбцов j++
     {
         sum=0;      
        for (int i = 0; i < rows; i++)
         {
            sum+=arr[i][j];
         }
         if (sum>maxC) {
            maxC=sum;
            idC=j+1;    // +1 т.к. счёт j от 0
         }
     }
     cout << "max: " << maxC << " in column: " << idC << endl;
надеюсь, за любой следующий час успеете делать свой код сами
успехов

Добавлено через 13 минут
p.s. слово итерирование применяю по общему смыслу совершаемого действия, хотя согласно библиотеке std -
итератор - это отдельная структура данных, которая используется для обращения к определенному элементу в контейнерах STL
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2020, 14:26
Помогаю со студенческими работами здесь

Найти строку матрицы с максимальной суммой элементов, вывести номер строки и значение суммы элементов в ней
В массиве NxM целых чисел найти строку с максимальной суммой элементов. Программа должна вывести номер строки и значение суммы элементов в...

Определить номер строки квадратной матрицы с максимальной суммой элементов
Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна.

Найти номер строки с максимальной суммой элементов
Задано массив А (4,5). Найти номер К строки с максимальной суммой элементов. Далее сформировать массив В (4,5), каждый элемент которого...

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

В матрице найти номер строки с максимальной суммой элементов и номер столбца с минимальной суммой элементов
Вывести на консоль номер строки с максимальной суммой элементов и номер столбца с минимальной суммой элементов package lab3; import...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru