Scusate..ho sempre il solito problema con questi programmi. Devo scrivere un programma che legga da tastiera gli elementi di un vettore di dimensione 10 e dica se esiste un sottovettore palindromo di lunghezza maggiore di 1. Io ho tentato di scriverlo così ma non mi fa nemmeno compilare:
la funzione ricorsiva dovrebbe essere giusta, ho provato ad applicarla e funziona, quindi il problema è nel definire il sottovettore.codice:# include <stdio.h> # include <stdlib.h> # define n 10 # define m>1 int main(){ int V[n]; int i; int A[m]; int start; int end; int count; int j; for(i=0;i<n;i++){ 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]));} for(i=0;i<n && count!=m;i++){ for(j=0;j<m;j++) if(V[i]==A[j]) { count++; j++; } else { count=0; j=0; if(V[i]==A[0]) i--; }} int palindromo(A vettore, int start, int end) if(start==end) return 1; if(start+1==end) return (A[start]==A[end]); return (A[start]==A[end] && palindromo(V,start+1,end-1)) }

Rispondi quotando