L'esercizio in questione richiede, dato un vettore di interi, il numero di inversioni presenti
nell’array, cioè il numero di coppie di indici i e j tali che i < j e v[i] > v[j].
Ma che vuol dire? non riesco a capire il senso della richiesta.
Io ho scritto questo codice che viene compilato ed eseguito senza problemi, ma non so valutare se il risultato ottenuto è giusto oppure no, mi potreste aiutare?
Grazie mille.
codice:
int l=10;
int[] v=new int[l];
int n=v.length;
boolean distinti=true;
int inversioni=0;

for(int i=0; i<n; i++){
	v[i]=1+(int)(Math.random()*20);
	System.out.print(v[i]+" ");
}

int i=0;
while(i<n && distinti){
	int j=i+1;
	while(j<n && distinti){
		if(v[i]==v[j]){
			distinti=false;
		}
		j++;
	}
	i++;
}
System.out.println("\n"+distinti);

for(int k=0; k<n; k++){
	for(int w=k+1; w<n; w++){
		if(v[k]>v[w]){
			inversioni++;
		}
	}
}
System.out.println("\nIl numero di inversioni presenti e': "+inversioni);