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

Rispondi quotando
che non fa mai male e mi pare di capire che, se per esempio