Вы находитесь на странице: 1из 1

Сумма и произведение элементов одномерного массива Источники: https://pas1.ru/arraysum . http://ci‐plus‐plus‐snachala.ru/?

p=129
. https://life‐prog.ru/2_32364_podschet‐summi‐proizvedeniya‐kolichestva‐elementov‐massiva‐udovletvoryayushchih‐zadannomu‐usloviyu.html
Задача
Найти сумму (произведение) элементов одномерного числового массива // 2сумма‐элементов‐одномерного‐ввод.cpp
//Получить сумму всех элементов одномерного массива, элементы массива вводятся с клавиатуры, добавление 
Решение русского языка
Задачи данного типа сводятся к по‐элементному перебору массива и выполнению 
соответствующих алгебраических операций (в данном случае сложения и  #include "pch.h" //pch.h ‐ файл, содержащий включения всех стандартных заголовков
умножения). #include <iostream> //Заголовочный файл для организации ввода‐вывода
Вводятся "пустые" переменные, значения которых в цикле for перезаписываются.  using namespace std;
Сумма элементов массива находится путем прибавления элемента к прежнему 
int main()
значению переменной. Произведение – умножением прежнего значения  {
переменной на очередной элемент. setlocale(LC_ALL, "rus"); //Для отображения русских символов в консоли
Первым значением переменной для суммы должен быть ноль, для  const int N = 5; //Максимальное количество элементов в массиве
произведения – единица (иначе умножение на ноль даст в результате ноль). int A[N]; //Инициализация массива из N элементов

В примере ниже отводится память под массив, максимальное количество  // ‐‐‐‐‐ ввод значений в массив с клавиатуры


элементов которого равно 5. Это значение присваивается переменной N. for (int i = 0; i < N; i++) {
Переменная sum хранит значения суммы элементов массива. В цикле ее значение  cout << "Введите A[" << i + 1 << "]:";
cin >> A[i];    //Ввод значения в ячейку массива с клавиатуры
постепенно увеличивается.
}

Запись значений с клавиатуры требует обхода всего массива с указанием на  // ‐‐‐‐‐‐ вывод значений массива


ячейки для записи. Любой обход — всегда цикл. Всё остальное ничем не // ‐‐ вариант1
отличается от работы с обычными переменными. cout << "\nВариант вывода массива №1:\n"; //Форматирование вывода на экран
for (int i = 0; i < N; i++) {  //Обход массива поэлементно
cout << A[i] << ' '; //Вывод на экран текущего значения
// 1сумма‐элементов‐одномерного‐массива.cpp
}
//Получить сумму и произведение всех элементов одномерного массива, 
cout << endl;
элементы массива заданы заранее
cout << endl;
// ‐‐ вариант2
#include "pch.h" //pch.h ‐ файл, содержащий включения всех 
стандартных заголовков cout << "Вариант вывода массива №2:" << endl;
#include <iostream> //Заголовочный файл для организации ввода‐вывода for (int i = 0; i < N; i++) {
printf("%4d ", A[i]); //вывод на экран 
using namespace std; текущего значения    
printf("\n");
int main() }
{
const int N = 5; //Максимальное количество элементов в массиве cout << endl;
int A[N] = { 11,23,44,55,12 }; //Инициализация массива
// ‐‐‐‐‐ нахождение суммы:
// ‐‐‐‐‐ нахождение суммы: int sum = 0; //Обязательно установить начальное значение 0!
int sum = 0; //Обязательно установить начальное значение 0!
for (int i = 0; i < N; i++) {
for (int i = 0; i < N; i++) { sum = sum + A[i]; //или sum+=A[i], равнозначный код
sum = sum + A[i]; //или sum+=A[i], равнозначный код }
} cout << "Сумма элементов = " << sum << '\n';
cout << "sum = " << sum << '\n';
// ‐‐‐‐‐ нахождение произведения:
// ‐‐‐‐‐ нахождение произведения: int op = 1; //Обязательно установить начальное значение 1!
int op = 1; //Обязательно установить начальное значение 1!
for (int i = 0; i < N; i++) {
for (int i = 0; i < N; i++) { op = op * A[i]; //или op*=A[i], равнозначный код
op = op * A[i]; //или op*=A[i], равнозначный код }
} cout << "Произведение элементов = " << op << '\n';
cout << "op = " << op << '\n';
cin.get();
cin.get(); }
}