2 / 2 / 0
Регистрация: 04.04.2020
Сообщений: 43
1

Вычислить произведение элементов одномерного массива

04.04.2020, 14:28. Показов 1227. Ответов 7
Метки c++ (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!

Не могу понять! Помогите!

Надо написать:

Задача: С помощю рекурсивных алгоритмамов (рекурсивных функций), вычислить произведение элементов одномерного массива.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2020, 14:28
Ответы с готовыми решениями:

Вычислить произведение элементов одномерного массива
Вычислить и вывести произведение элементов одномерного массива. Элементы массива задать случайным...

Вычислить произведение элементов одномерного массива
Используя рекурсивные функции Вычислить произведение элементов одномерного массива.

Вычислить сумму и произведение отрицательных элементов одномерного массива
По указанию пользователя или вычислить сумму и произведение отрицательных элементов одномерного...

Вычислить произведение элементов одномерного динамического массива до первого отрицательного
Создать одномерный динамический массив целых чисел размера n, где n вводит пользователь....

7
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 15:31 2
Цитата Сообщение от Sendbatser Посмотреть сообщение
Не могу понять! Помогите!
Задайте конкретный вопрос, что именно не понятно.
1
2 / 2 / 0
Регистрация: 04.04.2020
Сообщений: 43
04.04.2020, 15:47  [ТС] 3
valen10, Мне надо готовое, я пробовал не выходит

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
using namespace std;
 
int m[] = {1,2,3,4,5,6,7};
int f(int b, int e) {int d=(b+e)/2; return b==e ? m[b] : f(b,d)*f(d+1,e);}
 
int main() {cout<<f(0, sizeof(m)/sizeof(m[0])-1); return 0;}
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 15:50 4
Лучший ответ Сообщение было отмечено Sendbatser как решение

Решение

Цитата Сообщение от Sendbatser Посмотреть сообщение
Мне надо готовое
Ок. Например, так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
 
int mul(int *arr, size_t size) {
    if (!size) return 1;
    return arr[0] * mul(arr + 1, size - 1);
}
 
int main() {
    using namespace std;
 
    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    cout << mul(a, 10) << endl;
 
    return 0;
}
1
2 / 2 / 0
Регистрация: 04.04.2020
Сообщений: 43
04.04.2020, 15:53  [ТС] 5
valen10, Оу, спасибо тебе большое! Друг мой! Удачи!
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 15:55 6
Или так, если массив объявлен глобально:
C++
1
2
3
4
5
6
int mul(size_t i = 0) {
    if (i >= sizeof(a) / sizeof(a[0])) return 1;
    return a[i] * mul(i + 1);
}
//...
cout << mul() << endl;
0
2 / 2 / 0
Регистрация: 04.04.2020
Сообщений: 43
04.04.2020, 16:03  [ТС] 7
valen10, А вот этот вариант подойдёт ?

C++
1
2
3
4
5
6
7
8
#include <iostream>
 
using namespace std;
 
int m[] = {1,2,3,4,5,6,7};
int f(int b, int e) {int d=(b+e)/2; return b==e ? m[b] : f(b,d)*f(d+1,e);}
 
int main() {cout<<f(0, sizeof(m)/sizeof(m[0])-1); return 0;}
Добавлено через 7 минут
valen10, Все, понял спасибо!
0
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
04.04.2020, 16:04 8
Цитата Сообщение от Sendbatser Посмотреть сообщение
А вот этот вариант подойдёт ?
Тоже хороший вариант, хотя и не столь очевидный. Обычно такие задачи сводятся к обработке массива размером N-1, пока не достигается размер N==1. По мне, это более наглядно.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2020, 16:04
Помогаю со студенческими работами здесь

Вычислить произведение количества отрицательных и количества положительных элементов одномерного массива
Указатели. Вычислить произведение количества отрицательных и количества положительных элементов...

Произведение элементов одномерного массива
Простите за ошибку, нужно произведение всех элементов массива. Все... просто уже плывут мозги......

Найти произведение нечетных элементов одномерного массива
Дан одномерный массив найти произведение нечетных элементов

Найти произведение элементов одномерного числового массива
найти произведение элементов одномерного числового массива


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru