Salve forum devo realizzare il seguente "semplice" programma:
Un vettore si dice separato se dato un indice k, gli elementi di indice inferiore a k sono tutti minori degli elementi di indice superiore a k. Si scriva una funzione che prenda in ingresso un vettore di interi, al dimensione del vettore e k, e restituisca 1 se il vettore è separato, 0 se non lo è.
Io l'ho realizzato così ma ho l'impressione che qualcosa che non va.La mia idea è dividere il vettore in due parti :a)dall'elemento 0 all'elemento k del vettore b)dall'elemento k del vettore fino al riempimento..secondo voi il mio ragionamento è giusto.?
codice:#include<stdio.h> #include<stdlib.h> int vettore_separato(int v[],int n,int k); int main() { int k; int n=7; int separato; int vett[7]={3,7,9,7,12,11,10}; printf("inserire l'indice k:\n"); scanf("%d",&k); separato=vettore_separato(vett,7,k); if(separato==0) printf("Il vettore non e' separato su k"); else printf("Il vettore e' separato su k"); system("pause"); } int vettore_separato(int vett[],int n,int k) { int i,j; for(i=0;i<k;i++) for(j=k+1;j<n;j++) if(vett[i]>=vett[j]) return 0; return 1; }

Rispondi quotando