Ho un vettore di interi V di lunghezza 10 e deve stampare gli elementi di V dall'ultimo al primo. Il main del programma deve occuparsi dell'inizializzazione del vettore, mentre la stampa deve essere eseguita da una funzione ricorsiva che prenda in input il vettore V e la sua lunghezza.
Ho scritto questo programma ma non funziona, non mi stampa il vettore inverso.
codice:
#include <stdio.h>
#include <stdlib.h>
#define n 10
int inverso (int [],int [], int ,int);
main () {
int j; int V[n]; int b[n];
scanf("%d %d %d %d %d %d %d %d %d %d",&(V[0]),&(V[1]),&(V[2]),&(V[3]),&(V[4]),&(V[5]),&(V[6]),&(V[7]),&(V[8]),&(V[9]));
if (inverso (V,b,n-1,0))
for (j=0;j<n;j++)
printf("b[%d]\n",j);
system("PAUSE");
return 0; }
int inverso (int V[],int b[], int i, int j) {
if( i == 1 )
return b[i];
b[j] = V[i];
return inverso (V, b, i-1, j+1);
}