|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2007
Messaggi: 59
|
[C] Esplorazione elementi di un numero
Salve sono uno studente del primo anno di informatica presso la sapienza, quindi se è (e probabilmente lo è) una domanda sciocca vi prego di perdonarmi
![]() Non è che sapreste dirmi come faccio a esplorare le cifre di un numero trovato con uno scanf? Per dirvi devo trovare la 4 cifra del numero N che trovo con uno scanf.. Insomma devo leggere la 4cifra di 233367 e devo capire se è maggiore o meno di 6 (dati a caso per farvi capire) Non mi consigliate robe complesse perchè non le ho fatte ed ad una esercitazione il mio prof penso si stranirebbe, fino ad ora ho fatto cenni di array, iterazioni e le altre basi. EDIT: Ho sbagliato il titolo ![]() Ultima modifica di cifa : 30-11-2010 alle 16:43. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Mar 2008
Messaggi: 267
|
Usi la funzione sprintf (o itoa, ma è consigliabile la prima perché quest'ultima è deprecata) per convertire il numero in stringa, dopodiché lo confronti.
![]() Codice:
char str[256]; sprintf(str, "%d", numero); Se vuoi fare un confronto hai due modi: Codice:
if (str[3] > '6') Codice:
if (atoi(str[3]) > 6) Nel secondo caso, il carattere '3' viene convertito in un intero (3) e puoi tranquillamente fare dei confronti numerici. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2001
Città: Foggia
Messaggi: 2519
|
numero/(10^(cifra_da_estrarre-1))%10
__________________
mi sembra di essere tornato adolescente ai bei tempi.. che figata essere di nuovo su questo forum ![]() |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Mar 2008
Messaggi: 267
|
E' un ottimo esempio, anche se c'è da precisare che bisogna castare l'intero in un floating point e poi arrotondare il risultato. Tradotto in C sarebbe così:
Codice:
int numero = 233367; int posizione = 4; int cifra = (int)fmod((double)numero/pow(10, (double)posizione-1),10); Ultima modifica di Supdario : 30-11-2010 alle 20:59. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:44.