PDA

View Full Version : [C++] loop FOR


Albitexm
08-06-2009, 00:51
Dovrei scrivere un "contatore" usando l'istruzione FOR in C++.
Vorrei però contare non in base 10 , ma arrivare fino a otto e poi A,B,C,D,E.
In pratica in base 14. Ci sarebbe l'exadecimale, ma io devo contare fino a quattordici, non sedici (considero lo zero). Non so se contare fino a 14, e convertire alla fine i 5 numeri più alti in lettere, se usare l'esadecimale e non considerare gli ultimi segni, oppure qualcos'altro.
In pratica dovrei ottenere:
0 1 2 3 4 5 6 7 8 A B C D E
00 01 02 03 04 05 06 07 08 0A 0B 0C 0D 0E
10 11 12 13 14 15 16 17 18 1A 1B 1C 1D 1E
20 ...
...
A0 A1 A2 A3 A4 A5 A6 A7 A8 AA AB AC AD AE
..
E0 E1 E2 E3 E4 E5 E6 E7 E8 EA EB EC ED EE
000 ...
100...
10E...
1EE...
EEE... ECC..

In pratica dell'exadecimale manca il 9 e F.

yorkeiser
08-06-2009, 13:49
Non so se contare fino a 14, e convertire alla fine i 5 numeri più alti in lettere, se usare l'esadecimale e non considerare gli ultimi segni, oppure qualcos'altro.

La prima che hai detto.

daniele8805
08-06-2009, 18:16
semplice...usa i valori della tavola ascii....

Ikon O'Cluster
08-06-2009, 18:40
Ma veramente io ho sempre creduto che le cifre della base 14 fossero 0,1,2,3,4,5,6,7,8,9,A,B,C,D!!! Io farei così:

const unsigned int N = 14
char cifra[N] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D'}

Fai così quindi ti incrementi il tuo contatore i:

for(int i = 0; i < max_i; i++)
cout << cifra[i%N] << endl;

Ovviamente lascio a te gestire le decine, centinaia, migliaia, ecc... Io ho gestito solo le unità!

Albitexm
08-06-2009, 20:24
Ma veramente io ho sempre creduto che le cifre della base 14 fossero 0,1,2,3,4,5,6,7,8,9,A,B,C,D!!!

Daccordo, ma io nel risultato finale ho bisogno di 9 numeri e 5 lettere. Per questo ho tolto il nove e aggiunto "E". (dopo la base è sempre 14).Ma ho anche aggiunto che forse dovrei convertire gli ultimi numeri in lettere.
Posso usare il tuo codicino, sostituendo poi nelle stringhe restituite una lettera al nove.
Thank

ps. non immaginerete mai a cosa mi serve.. :p

Ikon O'Cluster
08-06-2009, 21:35
Dicci immediatamente a cosa serve!!! :D :D :D ke qua ci sta gente curiosa ;)