Assegnare un valore ad un carattere

di il
3 risposte

Assegnare un valore ad un carattere

Devo assegnare un valore ad ogni carattere. Es: carattere -> 0 valore 0; carattere -> a valore 0; carattere -> l valore 11; etc.
Mi stampa in output sempre 0. Non capisco dove sia l'errore, aiutatemi. Grazie

char pari[16];
puts("Inserisci parole: ");
gets(pari);
int val_pari=0;
//assegnare il valore ai caratteri pari
    for (int i=0; i<strlen(pari); i++) {
        if (pari[i]=='0')
            val_pari+=0;
        if (pari[i]=='1')
            val_pari+=1;
        if (pari[i]=='2')
            val_pari+=2;
        if (pari[i]=='3')
            val_pari+=3;
        if (pari[i]=='4')
            val_pari+=4;
        if (pari[i]=='5')
            val_pari+=5;
        if (pari[i]=='6')
            val_pari+=6;
        if (pari[i]=='7')
            val_pari+=7;
        if (pari[i]=='8')
            val_pari+=8;
        if (pari[i]=='9')
            val_pari+=9;
        if (pari[i]=='a')
            val_pari+=0;
        if (pari[i]=='b')
            val_pari+=1;
        if (pari[i]=='c')
            val_pari+=2;
        if (pari[i]=='d')
            val_pari+=3;
        if (pari[i]=='e')
            val_pari+=4;
        if (pari[i]=='f')
            val_pari+=5;
        if (pari[i]=='g')
            val_pari+=6;
        if (pari[i]=='h')
            val_pari+=7;
        if (pari[i]=='i')
            val_pari+=8;
        if (pari[i]=='j')
            val_pari+=9;
        if (pari[i]=='k')
            val_pari+=10;
        if (pari[i]=='l')
            val_pari+=11;
        if (pari[i]=='m')
            val_pari+=12;
        if (pari[i]=='n')
            val_pari+=13;
        if (pari[i]=='o')
            val_pari+=14;
        if (pari[i]=='p')
            val_pari+=15;
        if (pari[i]=='q')
            val_pari+=16;
        if (pari[i]=='r')
            val_pari+=17;
        if (pari[i]=='s')
            val_pari+=18;
        if (pari[i]=='t')
            val_pari+=19;
        if (pari[i]=='u')
            val_pari+=20;
        if (pari[i]=='v')
            val_pari+=21;
        if (pari[i]=='w')
            val_pari+=22;
        if (pari[i]=='x')
            val_pari+=23;
        if (pari[i]=='y')
            val_pari+=24;
        if (pari[i]=='z')
            val_pari+=25;
        if (pari[i]=='\0')
            val_pari+=0;
    }
    printf("%d\n\n", val_pari);

3 Risposte

  • Re: Assegnare un valore ad un carattere

    Se vuoi una risposta è meglio che ti spieghi nuovamente ... non si capisce cosa vuoi fare
  • Re: Assegnare un valore ad un carattere

    Ho risolto con strcnmp
  • Re: Assegnare un valore ad un carattere

    Questo è il classico caso di map:
    
    
    //Init map:
    int map[256];
    memset(map,0,256);
    
    map['l'] = 11;
    // ... mettere tutti gli altri valori
    
    //Usare map:
    //esempio sommare tutti i valori di una stringa
    char* esempio = "esempio";
    char* e = esempio;
    int sum = 0;
    
    while ( *e ) 
        sum += map[*e++];
    
    
Devi accedere o registrarti per scrivere nel forum
3 risposte