vorrei convertire le lettere in numeri in modo k la a equivalga a 1 ecc..
c'è una istruzione che possa fare questo?
vorrei convertire le lettere in numeri in modo k la a equivalga a 1 ecc..
c'è una istruzione che possa fare questo?
Una istruzione diretta mi sa di no, però puoi sfruttare i codici ANSI dei caratteri. Praticamente ogni carattere in C è rappresentato da un numero intero e puoi verificarlo in questo modo:
char c = 'a';
printf("%d",c);
printf("%c",c);
Vedrai che la prima istruzione ti stampa l'intero corrispondente alla 'a', mentre la seconda stampa la rappresentazione a carattere.
Ovviamente se l'intero che rappresenta 'a' è k, 'b' è k+1 e cosi via: in questo modo puoi ricavare tutte le lettere partendo dal numero, devi solo applicargli una opportuna 'traslazione'.
In altre parole vedi quale intero corrisponde alla 'a' stampandolo (io non me lo ricordo), e poi, a partire da quello, ricavi tutto il resto.
Mi auguro di non aver detto nefandezze ^^
supponendo che "ch" sia il carattere da convertireOriginariamente inviato da Montom
vorrei convertire le lettere in numeri in modo k la a equivalga a 1 ecc..
c'è una istruzione che possa fare questo?
e che il sistema usi la codifica ASCII
esempiocodice:ch - 'a' + 1
Questa non funziona sui sistemi che usano EBCDIC come codifica dei caratteri.codice:char ch = 'f'; int n = ch - 'a' + 1;
ma lol
ho fatto tutta quella pippa mentale per risolvere il problema opposto a quello che ponevi tu :rollo: