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

Найти сумму произведений по строкам матрицы

14.01.2021, 18:01. Показов 3149. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define M 2
#define N 2
int main() {
    int a[N][M];
     
    int s, i, j,sum;
    srand(time(NULL));
    for (i = 0; i < M; i++)  
    for (i = 0; i < N; i++) {
        s = 0;
        for (j = 0; j < M; j++) {
            a[i][j] = rand() % 10;
            printf("%5d", a[i][j]);
            s += a[i][j];
        }
         
        printf("   |%d\n", s );
        
    }
 
 
    printf("\n");
}
как теперь сложить эти два числа(s)?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.01.2021, 18:01
Ответы с готовыми решениями:

Найти сумму произведений элементов строк матрицы
Даны натуральные числа m,n, действительные числа a1,a2,...,amn. Вычислить а1а2...аm+am+1 am+2...a2m+a(n-1)m+1 a(n-1)m+2...amn (все в...

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

Дана матрица N*N. Найти сумму произведений по строкам матрицы
Дана матрица N*N. Найти сумму произведений по строкам матрицы.

26
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 18:07
nonameprogger, что-то я не совсем понял суть задачи. Напишите тот вариант задачи, который вам дали полностью. Потом будем решать
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 18:09  [ТС]
Laborant666, есть массив(2x2)
он суммируется строки
теперь нужно суммировать числа 7 и 9
Изображения
 
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 18:13
nonameprogger, понял вас. Сейчас оттестирую ваш код. У вас как я вижу на первый взгляд записывается сумма первой и второй строки в одну и ту же переменную. Соответственно нет двух сумм в наличии, а только одна. Как решается? После прохождения первой строки скопировать значение s в другую переменную. Посчитать сумму второй строки и сложить s с числом в ранее скопированной переменной

Добавлено через 58 секунд
nonameprogger, в требованиях выполнения задачи сказано каким образом реализовать решение? Например, реализовать через цикл, функцию
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 18:14  [ТС]
Laborant666, не сказанно,лучше через цикл
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 19:20
nonameprogger, хорошо. Пока попробуйте после рассчета суммы первой строки - сохранить результат в отдельную переменную, а потом после рассчета второй строки сложить s и число из новой переменной. А я подумаю над своим решением - опередите меня - я проиграл

Добавлено через 59 минут
nonameprogger, Есть успехи? Я отвлекся и только сейчас сажусь за ваш код. Вы впереди!
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 19:22  [ТС]
Laborant666, я пытался сделать временную переменную и туда кинуть сумму 1 строки.но по итогу он суммировал 2 строку со второй.вот сижу ломаю голову,спасибо что вы все еще со мной
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 19:28
nonameprogger, Вам сдавать это срочно? Или у нас есть время? Я вам помогу, но даю шанс сообразить самому. Подсказка: у вас в вашем коде каждый раз s обнуляется при переходе к следующей строке. Где-то надо сохранить данные до перехода к новой строке. Только инициализируйте этот sum = 0; А прибавляйте s к sum так sum+=s; Осталось догадаться где эту строчку воткнуть (тут уж зависит от того как четко вы понимаете порядок работы всей программы и что за чем идёт)
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 19:31  [ТС]
Laborant666, а выводить в итоге ...(sum + s)? до 21 00
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 19:33
nonameprogger, нет, выводить в итоге будете sum. Потому что в первый раз у вас sum = 0; Строка посчиталась (в определенном цикле). Получилось s = 3 (например). Вот тут где-то до перехода к следующей строке и до обнуления s (у вас есть там обнуление это s = 0 нужно сделать sum+=s; Получится sum = 3; Потом s обнулилось и пошла считаться вторая строка. Например стало s = 2. И если sum+=s; Вы поставили верно, то в конце у вас выведется верная сумма двух сумм строк
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 19:46
nonameprogger, давайте ещё полчасика на ваши рассуждения, а потом я покажу вам работающий код, если не получится и будем разбираться как он работает. Но не переставайте стараться!
Миниатюры
Найти сумму произведений по строкам матрицы  
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 19:59  [ТС]
Laborant666, я сделал.
я спрашивал вас по поводу "выводить в итоге ...(sum + s)",в итоге все получилось ..)
printf("%d", sum + s);
Миниатюры
Найти сумму произведений по строкам матрицы  
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 20:07
Лучший ответ Сообщение было отмечено nonameprogger как решение

Решение

nonameprogger, отлично. Код в студию)

Добавлено через 11 секунд
nonameprogger, А я вам свой дам поиграться)

Добавлено через 24 секунды
nonameprogger,
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
#include <iostream>
#include <ctime>
#include <conio.h>
 
int main() 
{
    const int N = 2; //убрал дефайны и сделал константы
    const int M = 2; //логичнее оно так
    int a[N][M];
 
    int sum_s = 0, sum = 0;//убрал переменные счетчики. Они объявляются в цикле
    int press_enter = 13; // 13 = код энтера. Нужен заранее инициализированный для первого старта
    srand(time(0)); //т.к вы дали код без инклудов - подключил сам и изменил на это
    
 
    while (press_enter == 13) //пока код нажатой клавиши = 13 - работаем
    {
        for (int i = 0; i < M; i++) //для решения достаточно два цикла
        {                           //M - столбцы. 
            sum_s = 0;
            for (int j = 0; j < N; j++) //N - строки матрицы. У вас было наоборот
            {
                a[i][j] = rand() % 10;
                std::cout << "\t" << a[i][j];
                //printf("%5d", a[i][j]); // позаменял их на cout`ы, в диковинку принты видеть
                sum_s += a[i][j];   // сумма строки
            }
 
            std::cout << "\t|" << sum_s << std::endl;
            // printf("   |%d\n", s);
 
            sum += sum_s; // После пробега по строке - добавляем сумму строки к общей сумме
 
        }
 
        std::cout << std::endl;
        //printf("\n");
        std::cout << "Sum is: " << sum << std::endl; // собственной сам вывод
 
        sum = 0; // обнуляем sum, ибо после вывода он нам не нужен
 
        std::cout << "Press Enter to repeat\nPress any key to exit\n";
        press_enter = (int)_getch(); // получаем код нажатой клавиши
    }
 
    return 0; // ну и не надо int main() оставлять без возвращения значения
    //у вас этой записи не было. Код полностью рабочий
}
Добавлено через 3 минуты
nonameprogger, кстати уберите вывод copy в консоль. Она портит вывод и не является общей суммой. На вывод нужна только общая итоговая сумма
1
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 20:07  [ТС]
Laborant666, спасибо за помощь!)
но извините, я свой код не скину,я решил его продать фейсбуку,теперь я миллиардер.еще раз спасибо))
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 20:10
nonameprogger, фейсбуку такой код зачем?)

Добавлено через 1 минуту
nonameprogger, вы сначала почитайте мой код, особенно комментарии) Если у вас три цикла для рассчетов - это плохо. Плюс у вас в изначальном коде считались суммы столбцов, а не строк)
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 20:14
Забавная штука конечно.
Миниатюры
Найти сумму произведений по строкам матрицы   Найти сумму произведений по строкам матрицы  
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 20:19  [ТС]
Laborant666, "а не строк" и как теперь быть?я думал что я считаю строки пхаха
0
18 / 14 / 4
Регистрация: 07.01.2019
Сообщений: 67
14.01.2021, 20:21
Не совсем понятно, для чего вы использовали третий цикл, у меня всё и так работает

Кликните здесь для просмотра всего текста
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
#define M 2
#define N 2
#include <iostream>
#include <ctime>
using namespace std;
 
int main() {
    int arr[N][M];
    int sum = 0;
    srand(time(NULL));
    for (int i = 0; i < M; i++)
    {
        for (int k = 0; k < N; k++)
        {
            arr[i][k] = rand() % 5;
            cout << arr[i][k] << ' ';
            sum += arr[i][k];
        }
        cout << '\n';
    }
    cout << "\n\n" << sum << endl;
    system("pause");
    return 0;
}
0
1 / 1 / 0
Регистрация: 15.02.2018
Сообщений: 199
14.01.2021, 20:23  [ТС]
Spectrages, а как сделать чтобы по каждой строке сумму считала?
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
14.01.2021, 20:28
nonameprogger, скажите зачем фейсбуку код, который они сами написать в силах (раз нуб, как я, его смог написать) и я вам расскажу)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.01.2021, 20:28
Помогаю со студенческими работами здесь

Найти СУММУ ПРОИЗВЕДЕНИЙ элементов строк матрицы
Дана матрица размерности N. Найти СУММУ ПРОИЗВЕДЕНИЙ элементов строк матрицы (а1.1*а1.2*а1.3*1.4 + а2.1*а.2.2..... и тд)

Найти сумму произведений столбцов матрицы 4x6
Здравствуйте, помогите пожалуйста, нужно найти сумму произведений столбцов матрицы 4x6

Найти сумму по строкам матрицы
ввести массив 4х4. НАйти сумму 1 строки сумму 2 строки и их разность

Найти сумму произведений ненулевых цифр элементов матрицы
1)работа с массивами · Найти сумму произведений ненулевых цифр элементов матрицы · Найти номер столбца матрицы, сумма...

Найти минимальную сумму по строкам матрицы
а) минимальную сумму по строкам; б) сумму минимальных элементов в каждой строке;


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru