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