PDA

View Full Version : [C] Problema ordinamento cifre di un intero.


Xizor
07-03-2011, 21:12
Salve a tutti. Non riesco a venirne fuori da un problema non troppo difficile penso. Dato un numero senza segno n, dovrei ritornare il numero di coppie di numeri che non sono ordinati (in ordine crescente)

Es:

12 -> 0
325 -> 1
2315 -> 2
ecc.

Questo è quello che ho provato a fare.

int inversioni(unsigned int n) {
int succ;
int temp;
int i=0;
int a=0;

if (n<=9) return 0;
else {
temp = n % 10;
n = n / 10;
succ = n % 10;

do {

if(succ>=temp){
i++;
n = n / 10;
}
else n = n / 10;
temp=succ;
succ = n % 10;

} while(n > 0);

}

return i;
}

Funziona solo per numeri bassi e non riesco a capire come poterlo far funzionare con tutte le cifre. Grazie!

ESSE-EFFE
09-03-2011, 15:13
Funziona solo per numeri bassi

Bassi quanto? Con quali numeri non ti funziona?