Умножение элементов массива
Здравствуйте, как умножить каждый элемент массива по очереди на каждый элемент другого массива?
Например, есть массив А[5] и B[5] , и нужно умножить
A[0]*B[0] , A[0]*B[1] , A[0]*B[2] , . потом
A[1]*B[0] , A[1]*B[1] , A[1]*B[2] , .
Как это сделать в цикле?
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как перемножить элементы массива?
Как лучше всего перемножить между собой все значения values?
- Вопрос задан более двух лет назад
- 310 просмотров
- Вконтакте

arr.reduce((acc, n) => acc * n.values, 1)
- Вконтакте


И это оправдано, потому что в массиве известно заранее сколько будет элементов. Если это станет не так (не будет элемента) — вылезет ошибка, да можно дополнительно проверить количество.
Как найти сумму и произведение элементов массива на C++
Такая задача часто встречается, если вы начали изучение программирования и уже дошли до работы с массивами.
Давайте разберемся с ней. Если вам необходимо найсти сумму или произведение элементов массива, или даже и то и другое, то нам понадобится для этого всего лишь один цикл.
Мы с напишем программу, которая выведет сам массив, сумму элементов массива, а также произведение элементов массива. Напишем ее на C++.
Прежде чем написать, давайте немного разберем сам алгоритм, обозначим шаги, которые необходимо будет сделать.
Первое — создадим сам массив, создадим начальную переменную для хранения суммы и начальную переменную для хранения произведения элементов массива.
Второе — с помощью цикла берем каждый элемент с первого до последнего. Элемент прибавляем его к переменной, котроая хранит сумму и записываем в переменную, которая хранит сумму (тавталогия?). Аналогичное проделываем и с переменной, которая хранит произведение.
Третье — выводим массив и выводим значения переменных, которые хранят сумму и произведение элементов массива.
Давайте теперь уже напишем программу, которая найдет сумму и произведение элементов массива на C++
#include using namespace std; int main() < /* Заполним массив значениями */ int n = 6; int mass[n] = <5, 3, 2, 9, 3, 8>; /* Создадим переменные для хранения суммы и произведения */ int sumValue = 0; // Сумма int proValue = 1; // Произведение (по умолчанию 1) cout
Вывод программы
Функция умножения элементов массива
Если я перейду к функции умножения и введу, например, я хочу умножить 2 * 2 * 2 этого кода, который он выводит 4 8 4, я не понимаю почему, хорошо, я знаю, что 2 * 2 = 4 * 2 = 8, но почему последний 4? и как я могу получить только результат без получения всей серии? Когда я пытаюсь выполнить консольную запись WriteLine вне циклов for, возникает ошибка. это не позволяет мне.
6 ответов
Очень просто . измените свой код, как показано ниже .
Сообщение об ошибке возникает из-за того, что вы объявляете int multip во внутренней области цикла for. После этого int выходит за пределы области видимости и не может использоваться. Если вы хотите, чтобы multip был доступен вне цикла for , объявите его вне цикла for:
Обратите внимание, что он объявлен над циклом for, но используется в цикле и выводится вне цикла, но все еще находится в его области (в моем случае это «вся функция «).
У вас все еще есть логическая проблема. Вы уверены, что вам нужен вложенный цикл? Как бы вы описали человеку, как умножить список чисел, чтобы получить общий продукт?
У вас есть 3 элемента в вашем массиве
Затем вы умножаете 0 на 1 и выводите результат:
Затем вы умножаете 0 на 2 и выводите результат:
Вы умножаете n на 2 и выводите результат:
Возможно, вы хотите удалить внешний цикл, в этом случае ваш результат будет