18.06.2008, 00:29. Просмотров 1221. Ответов 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: