Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    79

    [C++] domanda semplice sui caratteri

    Ciao a tutti!
    Domanda semplicissima, ma non so proprio come fare.

    Se ho un vattore di caratteri che contiene SOLO una lettera, vedi la lettera a.

    Come faccio a farla diventare A?

    Grazie... è importante!
    -squid-
    powered by slack9.1 + win2k
    ----
    /home sweet /home

  2. #2
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    codice:
    const n=10;
    char vet[n]; /* Vettore di dieci caratteri */
    int i;
    
    while((i<10)||(vet[i]!='a')){
             if(vet[i]=='a')
                   vet[i]='A';
             else
                  i++;
    }

    Scorro il vettore finchè non finisce (i<10) o finchè non incontra la 'a'...quando la incontra la sostituisce con la 'A'...

    Per standardizzare questo codice e creare un algoritmo che trovato un carattere minuscolo lo converte in maiuscolo, dovresti agire sui codici ASCII dei caratteri.


  3. #3
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    la a minuscola con l'ASCI si fa '97'.
    La A maiuscola con '65'.

    Come puoi notare la differenza è di 32, basta sommare.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    79
    Grazieeeeeee
    -squid-
    powered by slack9.1 + win2k
    ----
    /home sweet /home

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Per trasformare una lettera da MAIUSCOLA a minuscola è sufficiente metterla in OR bit a bit con 32, viceversa, per trasformare una lettera da minuscola a MAIUSCOLA è sufficiente metterla in AND bit a bit con 223. Esempio:
    codice:
    char lettera = 'A';
    lettera = lettera | 32;  /* La converto in minuscola */
    printf("Lettera minuscola: %c", lettera);
    
    lettera = lettera & 223;  /* La riconverto in maiuscola */
    printf("Lettera MAIUSCOLA: %c", lettera);
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Oppure si può usare la funzione toupper:

    #include <ctype.h>

    int toupper( int ch );

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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 © 2025 vBulletin Solutions, Inc. All rights reserved.