Ну какая же это константа? Вернее, константа – только в том смысле, что size
не будет изменяться, но во время компиляции эта константа неизвестна.
const int size = a;
Соответственно, это тоже неверно – в С++ размер массива должен быть известен во время компиляции:
int arr[size];
mul
надо инициализировать – вы начинаете множить мусор. Да и в int
результат вряд ли поместится без переполнения.
Так что…
int n;
cin >> n;
int * arr = new int[n];
for (int i = 0; i < n; i++)
cin >> arr[i];
double mul = 1;
for (int i = 0; i < n; i++)
mul *= arr[i];
cout << mul;
Только вот смотрите – можно два цикла объединить в один, так?
double mul = 1;
for (int i = 0; i < n; i++)
{
cin >> arr[i];
mul *= arr[i];
}
Но тогда встает вопрос – а зачем нам вообще массив? и мы получаем (еще и одну переменную экономим…)
int main()
{
int n;
cin >> n;
double mul = 1;
for (int i = n; i > 0; i--)
{
cin >> n;
mul *= n;
}
cout << mul;
}
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
We are given an array, and we have to calculate the product of an array using both iterative and recursive methods.
Examples:
Input : array[] = {1, 2, 3, 4, 5, 6}
Output : 720
Here, product of elements = 1*2*3*4*5*6 = 720Input : array[] = {1, 3, 5, 7, 9}
Output : 945
Iterative Method: We initialize result as 1. We traverse array from left to right and multiply elements with results.
Implementation:
C++
#include<bits/stdc++.h>
using
namespace
std;
int
multiply(
int
array[],
int
n)
{
int
pro = 1;
for
(
int
i = 0; i < n; i++)
pro = pro * array[i];
return
pro;
}
int
main()
{
int
array[] = {1, 2, 3, 4, 5, 6};
int
n =
sizeof
(array) /
sizeof
(array[0]);
cout << multiply(array, n);
return
0;
}
Java
import
java.io.*;
public
class
GFG
{
static
int
arr[] = {
1
,
2
,
3
,
4
,
5
,
6
};
static
int
multiply()
{
int
pro =
1
;
for
(
int
i =
0
; i < arr.length; i++)
pro = pro * arr[i];
return
pro;
}
public
static
void
main(String[] args)
{
System.out.println(multiply());
}
}
Python3
def
multiply( array , n ):
pro
=
1
for
i
in
range
(n):
pro
=
pro
*
array[i]
return
pro
array
=
[
1
,
2
,
3
,
4
,
5
,
6
]
n
=
len
(array)
print
(multiply(array, n))
C#
using
System;
class
GFG
{
static
int
[]arr = {1, 2, 3, 4, 5, 6};
static
int
multiply()
{
int
pro = 1;
for
(
int
i = 0; i < arr.Length; i++)
pro = pro * arr[i];
return
pro;
}
public
static
void
Main()
{
Console.Write(multiply());
}
}
PHP
<?php
function
multiply(
$arr
,
$n
)
{
$pro
= 1;
for
(
$i
= 0;
$i
<
$n
;
$i
++)
$pro
=
$pro
*
$arr
[
$i
];
return
$pro
;
}
$arr
=
array
(1, 2, 3, 4, 5, 6);
$n
= sizeof(
$arr
) / sizeof(
$arr
[0]);
echo
multiply(
$arr
,
$n
);
return
0;
?>
Javascript
<script>
var
arr = [ 1, 2, 3, 4, 5, 6 ];
function
multiply() {
var
pro = 1;
for
(i = 0; i < arr.length; i++)
pro = pro * arr[i];
return
pro;
}
document.write(multiply());
</script>
Time Complexity: O(n)
Auxiliary Space: O(1)
Recursive Method:
C++
#include<iostream>
using
namespace
std;
int
multiply(
int
a[],
int
n)
{
if
(n == 0)
return
(a[n]);
else
return
(a[n] * multiply(a, n - 1));
}
int
main()
{
int
array[] = {1, 2, 3, 4, 5, 6};
int
n =
sizeof
(array) /
sizeof
(array[0]);
cout << multiply(array, n - 1)
<< endl;
return
0;
}
Java
import
java.io.*;
public
class
GFG
{
static
int
arr[] = {
1
,
2
,
3
,
4
,
5
,
6
};
static
int
multiply(
int
a[],
int
n)
{
if
(n ==
0
)
return
(a[n]);
else
return
(a[n] * multiply(a, n -
1
));
}
public
static
void
main(String[] args)
{
System.out.println(multiply(arr,
arr.length -
1
));
}
}
Python3
def
multiply( a , n ):
if
n
=
=
0
:
return
(a[n])
else
:
return
(a[n]
*
multiply(a, n
-
1
))
array
=
[
1
,
2
,
3
,
4
,
5
,
6
]
n
=
len
(array)
print
(multiply(array, n
-
1
))
C#
using
System;
class
GFG
{
static
int
[]arr = {1, 2, 3, 4, 5, 6};
static
int
multiply(
int
[]a,
int
n)
{
if
(n == 0)
return
(a[n]);
else
return
(a[n] * multiply(a, n - 1));
}
public
static
void
Main()
{
Console.Write(multiply(arr,
arr.Length - 1));
}
}
PHP
<?php
function
multiply(
$a
,
$n
)
{
if
(
$n
== 0)
return
(
$a
[
$n
]);
else
return
(
$a
[
$n
] *
multiply(
$a
,
$n
- 1));
}
$array
=
array
(1, 2, 3, 4, 5, 6);
$n
=
count
(
$array
);
echo
multiply(
$array
,
$n
- 1)
?>
Javascript
<script>
var
arr = [ 1, 2, 3, 4, 5, 6 ];
function
multiply(a , n) {
if
(n == 0)
return
(a[n]);
else
return
(a[n] * multiply(a, n - 1));
}
document.write(multiply(arr,
arr.length - 1));
</script>
Time Complexity: O(n)
Auxiliary Space: O(n)
Using Library functions:
C++
#include <iostream>
#include <numeric>
using
namespace
std;
int
multiply(
int
array[],
int
n)
{
int
pro = 1;
return
accumulate(array, array + n, pro,
multiplies<
int
>());
}
int
main()
{
int
array[] = { 1, 2, 3, 4, 5, 6 };
int
n =
sizeof
(array) /
sizeof
(array[0]);
cout << multiply(array, n);
return
0;
}
Java
import
java.util.Arrays;
import
java.util.function.IntBinaryOperator;
public
class
GFG {
public
static
int
multiply(
int
[] array)
{
int
pro =
1
;
return
Arrays.stream(array).reduce(
pro,
new
IntBinaryOperator() {
@Override
public
int
applyAsInt(
int
left,
int
right)
{
return
left * right;
}
});
}
public
static
void
main(String[] args)
{
int
[] array = {
1
,
2
,
3
,
4
,
5
,
6
};
int
n = array.length;
System.out.println(multiply(array));
}
}
Python3
from
functools
import
reduce
def
multiply(array, n):
return
reduce
((
lambda
x, y: x
*
y), array)
array
=
[
1
,
2
,
3
,
4
,
5
,
6
]
n
=
len
(array)
print
(multiply(array, n))
C#
using
System;
using
System.Linq;
public
class
GFG {
static
int
Multiply(
int
[] array,
int
n)
{
int
pro = 1;
return
array.Aggregate(pro, (current, t) =
> current * t);
}
static
public
void
Main(
string
[] args)
{
int
[] array = { 1, 2, 3, 4, 5, 6 };
int
n = array.Length;
Console.WriteLine(Multiply(array, n));
}
}
Javascript
<script>
function
multiply(array) {
let pro = 1;
return
array.reduce((acc, cur) => acc * cur, pro);
}
let array = [1, 2, 3, 4, 5, 6];
let n = array.length;
console.log(multiply(array));
</script>
Time Complexity: O(n)
Auxiliary Space: O(1)
This article is contributed by Rishabh Jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Last Updated :
01 Mar, 2023
Like Article
Save Article
Сумма и произведение элементов массива
Просмотров 10.7к. Обновлено 15 октября 2021
Заполнить массив вещественных чисел вводом с клавиатуры. Посчитать сумму и произведение элементов массива. Вывести на экран сам массив, полученные сумму и произведение его элементов.
- Присвоить переменной, в которой будет храниться сумма, значение 0, а переменной для произведения — значение 1.
- В цикле увеличивая индекс массива от начала до конца
- считывать с клавиатуры число и записывать его в текущую ячейку массива,
- увеличивать переменную с суммой на введенное число.
- умножать переменную с произведением на введенное число.
- В цикле увеличивая индекс массива от начала до конца вывести все элементы массива.
- Вывести сумму и произведение.
Pascal
сумма элементов массива паскаль
const N = 10;
var
a: array[1..N] of real;
sum, mult: real;
i: integer;
begin
sum := 0;
mult := 1;
for i:=1 to N do begin
read(a[i]);
sum := sum + a[i];
mult := mult * a[i];
end;
for i:=1 to N do write(a[i]:5:2);
writeln;
writeln(sum:5:2);
writeln(mult:5:2);
end.
4.3 2.3 4.5 3.3 8.3 1.2 8.3 9.1 2.3 3.6
4.30 2.30 4.50 3.30 8.30 1.20 8.30 9.10 2.30 3.60
47.20
914812.11
Язык Си
#include
#define N 10main() {
float a[10], sum, mult;
int i;
sum = 0;
mult = 1;
for (i=0; i < 10; i++) {
scanf("%f", &a[i]);
sum += a[i];
mult *= a[i];
}
for (i=0; i < 10; i++) {
printf("%.2f ", a[i]);
}
printf("n%.2fn", sum);
printf("%.2fn", mult);
}
Python
сумма элементов массива python (питон)
a = [0]*10
s = 0
m = 1
for i in range(10):
a[i] = float(input())
s += a[i]
m *= a[i]
print(a)
print(s)
print('%.4f'%m)
КуМир
алг сумма элементов
нач
цел N=10
вещ таб a[1:N]
вещ sum, mult
цел i
sum := 0
mult := 1
нц для i от 1 до N
ввод a[i]
sum := sum + a[i]
mult := mult * a[i]
кц
нц для i от 1 до N
вывод a[i], " "
кц
вывод нс, sum, нс
вывод mult
кон
Basic-256
dim a(10)
sum = 0
mult = 1
for i=0 to 9
input a[i]
sum = sum + a[i]
mult = mult * a[i]
next ifor i=0 to 9
print a[i] + " ";
next i
print sum
print mult
Такая задача часто встречается, если вы начали изучение программирования и уже дошли до работы с массивами.
Давайте разберемся с ней. Если вам необходимо найсти сумму или произведение элементов массива, или даже и то и другое, то нам понадобится для этого всего лишь один цикл.
Мы с напишем программу, которая выведет сам массив, сумму элементов массива, а также произведение элементов массива. Напишем ее на 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 << endl << "Массив = ";
/* Проходим по всем элементам массива */
for (int i = 0; i < n; ++i) {
// Вынесем текущий элемент в переменную
int currentElementValue = mass[i];
// Сразу выведем его
cout << currentElementValue << " ";
// Пересчитываем сумму элементов массива с текущим значением
sumValue = sumValue + currentElementValue;
// Пересчитываем произведение элементов массива с текущим значением
// Если бы по умолчанию proValue был не 1, а 0, то так сделать нельзя было бы
// т.к. был бы всегда 0 при умножениях.
proValue = proValue * currentElementValue;
}
cout << endl << "Сумма элементов массива = " << sumValue;
cout << endl << "Произведение элементов массива = " << proValue;
return 0;
}
Компилируем и запускаем. Видим следующий вывод программы.
Проверяем на калькуляторе – все работает как нужно.
Знаток
(273),
закрыт
11 лет назад
кажется, тут был ник
Просветленный
(21205)
11 лет назад
program name;
const n=5;
var
m:array[1..n] of integer;
i,t:integer;
begin
writeln(‘Введите ‘,n,’ елементов массива’);
for i:=1 to n do readln(m{i});
t:=m{1};
for i:=2 to n do t:=t*m{i};
write(‘вывод массива: ‘);
for i:=1 to n do write(m{i},’ ‘);
writeln(#13#10,’Результат произведения элементов массива: ‘,t);
readln;
end.
фигурные скобки замени на квадратые
Антон Назаров
Мыслитель
(6100)
11 лет назад
program mas;
cоnst n=5;
var
a:array[1..n] of integer;
i,t:integer;
begin
writeln(‘Введите ‘,n,’ елементов массива’);
for i:=1 to n do readln(m{i});
t:=1;
for i:=2 to n do t:=t*m{i};
write(‘вывод массива: ‘);
for i:=1 to n do write(m{i},’ ‘);
writeln(‘Результат произведения элементов массива: ‘,t);
readln;
end.
Источник: Поправка предыдущего ответа начальное значение произведение равно 1!!!!а не значению первого элемента
DISEIL
Профи
(617)
11 лет назад
первый вариант написали правильно
Антон Назаров вы тупо копировали его код и заменили переменные причем не до конца и испортили код.
Зачем вы переименовали массив М в А?
а ниже то забыли переименовать?
а почему это т=1?
допустим у нас 3 елемента массива 15 65 89
мы их перемножаем со 2 елемента, при этом 1 елемент пишем в Т 10*65*89
а вы так перемножаете 1*65*89
а первый элемент массива куда дели?
Первый ответ правильный!
инсар салахов
Профи
(578)
2 года назад
uses crt ;
type
massiv = array [1..100] of integer;
var
mass : massiv;
n, i, proiz : integer;
begin
clrscr; // очищаем экран
write(‘Введите кол-во элементов массива : ‘); readln(n);
proiz := 1 ;
for i:=1 to n do
begin
write(‘Введите ‘, i , ‘ число : ‘); readln(mass[i]);
proiz := proiz * mass[i];
end;
writeln(‘Произведение массива из ‘, n , ‘ элементов = ‘, proiz);
readln; // чтобы программа не закрывалась
end.