Форум программистов, компьютерный форум CyberForum.ru

Нужно вычислить произведение всех элементов массива с помощью рекурсии. - C++

Восстановить пароль Регистрация
 
AleX_73
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 13
09.01.2013, 22:21     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #1
Доброго времени суток! Нужно вычислить произведение всех элементов массива с помощью рекурсии. Подскажите как это можно сделать?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 22:21     Нужно вычислить произведение всех элементов массива с помощью рекурсии.
Посмотрите здесь:

Найти произведение квадрата всех положиельны элементов массива C++
C++ В одномерном массиве, вычислить: а) количество элементов массива б) произведение элементов массива в) От - к +
C++ Вывести значения всех элементов одномерного массива с помощью указателей
Найти сумму и произведение всех элементов массива C++
C++ Найти сумму и произведение всех четных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
09.01.2013, 22:26     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int F(const int *arr, int n)
{
    if (n == 1) return arr[0];
    return arr[n-1] * F(arr, n-1);
}
 
int main()
{
    int arr[] = {1, 2, 3, 4};
    
    cout << F(arr, 4) << endl;
    
    return 0;
}
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.01.2013, 22:26     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #3
C++
1
2
3
4
5
6
7
8
9
int recursion(int* arr,int size){
      int mult = 1;
      if(size){
        mult *= arr[size-1]*recursion(arr,size--);   
      }else{
        return 1;
      }
 return mult;
}
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
09.01.2013, 22:30     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #4
C++
1
2
3
4
5
6
7
8
9
10
11
void proizv(int* A,int& n,int& otv)
{
if (n==0)
otv*=A[0];
return otv;
}
else 
{
otv*= A[n];
return proizv(A,n--,otv);
}
Добавлено через 2 минуты
На любой вкус и цвет)
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
09.01.2013, 22:32     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #5
имхо у v.a.l.i.d, самая грамотная
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
09.01.2013, 22:39     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #6
Да, есть такое.
AleX_73
0 / 0 / 0
Регистрация: 09.12.2011
Сообщений: 13
09.01.2013, 23:21  [ТС]     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #7
Всем большое спасибо))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 00:37     Нужно вычислить произведение всех элементов массива с помощью рекурсии.
Еще ссылки по теме:

C++ Найти произведение всех элементов массива с помощью рекурсивной функции
C++ Определить произведение значений всех положительных элементов массива
Найти сумму и произведение всех элементов массива C++

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

Или воспользуйтесь поиском по форуму:
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
10.01.2013, 00:37     Нужно вычислить произведение всех элементов массива с помощью рекурсии. #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Парни забыли про такой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>  
 
int func(int* array, int size)  
{ 
    return!size ? 1 : array[size-1] * func(array, size-1);
}
 
int main() 
{ 
    const int size = 4; 
    int array[size] = { 1, 2, 3, 4 }; 
    std::cout << "Proisvedenie " << func(array, size) << " ";
}
Yandex
Объявления
10.01.2013, 00:37     Нужно вычислить произведение всех элементов массива с помощью рекурсии.
Ответ Создать тему
Опции темы

Текущее время: 17:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru