[C] Frequenza di occorrenza delle lettere

di Anonimizzato15402 il
1 risposte
Salve a tutti, ho un piccolo problema con questo programmino. Il mio intento era quello di contare l'occorrenza di ogni lettera in una stringa di caratteri. Penso di aver azzeccato la logica, ma ho un piccolo problema con la stampa video: mi viene ripetuta la stampa in base a quante lettere sono inserite..(ad esempio "abc" --> esistono 1 lettere A, esistono 0 lettere B, 0 lettere C,...........Z, esistono 1 lettera A, esistono 1 B, esistono 0 lettere C, e così via... ogni volta che ripete aggiunge una lettera

#include <stdio.h>

int main(){
    int str[26];
    int c;
    int i;
    int vet[26];
    
    for (i = 0; i < 26; i++) {
        str[i] = 0;
    }
    while ((c=getchar())!= EOF) {
        for (i = 0; i < 26; i++) {
            str[i] = c;
        if (c >= 'a' && c <= 'z')
            for (i=0; i < 26; i++) {
                ++vet[str[i] - 'a'];
                printf("esistono %d lettere %c\n", vet[i], i+'a');
            }
        
        }

    }
}

1 Risposte

  • Intanto il vettore str non serve (anzi) e poi stai usando la stessa variabile per due cicli for nidificati (e ovviamente è un errore).
Devi accedere o registrarti per scrivere nel forum
1 risposte