Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    29

    [c]convertire lettere in numero

    vorrei convertire le lettere in numeri in modo k la a equivalga a 1 ecc..

    c'è una istruzione che possa fare questo?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    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 ^^

  3. #3

    Re: [c]convertire lettere in numero

    Originariamente 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?
    supponendo che "ch" sia il carattere da convertire
    e che il sistema usi la codifica ASCII

    codice:
    ch - 'a' + 1
    esempio
    codice:
    char ch = 'f';
    int n = ch - 'a' + 1;
    Questa non funziona sui sistemi che usano EBCDIC come codifica dei caratteri.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    ma lol
    ho fatto tutta quella pippa mentale per risolvere il problema opposto a quello che ponevi tu :rollo:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.