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); }

Rispondi quotando