Assegnare un valore ad un carattere

di il
2 risposte

Assegnare un valore ad un carattere

Devo assegnare un valore ad ogni carattere. Ad esempio se il carattere è 'l' il valore è 11, se il carattere è 'z' il valore è 25.
In output mi restiutisce sempre 0. Non riesco a capire dove sia l'errore, aiutatemi. Grazie.

//qui non dichiare le variabili, ma nel mio progetto sono dichiarate

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

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte