Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Flieriya

Рекурсия: вычислить произведение элементов массива

18.06.2008, 00:29. Показов 1662. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Помогите пожалуйста девушке необразованной найти ошибки в коде, а то выгонят нафиг Задача такая-вычислить произведение элементов массива рекурсивным алгоритмом. Тект проги, которая упорно выдаёт ноль как результат произведения:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<iostream.h>
#include<conio.h>
void vvod(int [],int);
void vuvod(int [],int);
int  rec(int [],int);
const int n=3;
void main()
{
clrscr();
 
int a[n];
vvod(a,n);
cout<<rec(a,n);
vuvod(a,n);
getch();
}
void vvod(int a[n],int n)
{
for (int i=0;i<n;i++)
cin>>a[i];
}
void vuvod(int a[n],int n)
{
for (int i=0;i<n;i++)
cout<<a[i];
}
 
int rec(int a[n],int n-1)
{
if (n-1>=0)
{return rec(a,n-2)*a[n];
}
else {
return 1;
 
 }
 
}
и может кто-то написать функцию для перестановки элементов стека x(1),x(2),...x(n)=>x(2),x(3),...x(n),x(1 ). Элементы пронумерованы в порядке их введения в стек. Программы мы пишем под дос без использования библиотек. ПОМОГИТЕЕЕ!!!!:huh:
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2008, 00:29
Ответы с готовыми решениями:

Рекурсия: Найти произведение элементов массива, кроме тех, чей индекс кратен А.
Здравствуйте! Вот задача: Дан одномерный массив целых чисел и целое число A. Найти произведение элементов массива, кроме тех, чей...

Вычислить произведение положительных элементов массива, сумму элементов массива, расположенных до минимального
С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции: 1) вычислить произведение положительных...

В одномерном массиве, вычислить: а) количество элементов массива б) произведение элементов массива в) От - к +
Помогите пожалуйста!.. Вводить из клавиатуры массивы и обрабатывать их, пока на запрос “Хотите продолжать работу дальше (да, нет) ?”...

3
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
18.06.2008, 08:17
Ошибка новичка : В Си массивы нумеруются с нуля,а значит последний элемент имеет номер n-1,где размер массива - n.
вызывай функцию rec(a,n-1) - и будет работать.

Еще совет - называй функции и переменные на английском языке.выглядит симпотичней,как минимум.
0
Flieriya
18.06.2008, 09:19
Спасибо конечно огромное, забыла про то, что массивы с нуля начинаются. Изменила и ничего по прежнему не работает...
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
18.06.2008, 09:31
Ты изменила не то.Я имел в виду вот что :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<iostream>
using namespace std;
#include<conio.h>
void vvod(int [],int);
void vuvod(int [],int);
int rec(int [],int);
const int n=3;
int main()
{
//clrscr();
 
int a[n];
vvod(a,n);
cout<<rec(a,n-1);
vuvod(a,n);
getch();
return 0;
}
void vvod(int a[n],int n)
{
for (int i=0;i<n;i++)
cin>>a[i];
}
void vuvod(int a[n],int n)
{
for (int i=0;i<n;i++)
cout<<a[i];
}
 
int rec(int a[n],int n)
{
if (n>=0)
{return rec(a,n-1)*a[n];
}
else {
return 1;
 
}
 
}
Сравни со своим кодом,и пойми сама,что у тебя не так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2008, 09:31
Помогаю со студенческими работами здесь

Вычислить произведение элементов массива, расположенных после максимального элемента массива
- произведение элементов массива, расположенных после максимального элемента массива;

В одномерном массиве,состоящем из n целочисленных элементов вычислить произведение элементов массива
В одномерном массиве,состоящем из n целочисленных элементов вычислить произведение элементов массива, расположенных между первым и вторым...

Вычислить произведение элементов массива с четными номерами и количество элементов, лежащих в диапазоне
Дан одномерный массив, состоящий из 16ти чисел от –99 до 99, генерируемых случайным образом. Вычислить произведение элементов массива с...

В одномерном массиве, состоящем из n элементов, вычислить произведение элементов массива с четными номерами
#include &quot;iostream.h&quot; #include &quot;math.h&quot; main() { const int n=10 int mas,i,count; cout&lt;&lt;&quot;Введите элементы массива:...

Вычислить произведение элементов массива и произвести сортировку массива
в одномерном массиве состоящем из N вещественных элементов вычислить произведение элементов массива. Упорядочить элементы массива по...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru