/* Nome: Mario Cognome: Montanari Classe: 3AIN Inizializzare un array di elemento con una capacità massima di 100 o di SIZE con le lettere dell'alfabeto e 0 nel campo numerico. Contare le occorrenze delle lettere e memorizzarne il valore nell'array. */ #include #include #include #define SIZE 100 using namespace std; typedef struct { char car; int num; } elemento; void leggiFileCaratterePerCarattere(const char *nomeFile) { FILE *fp = fopen(nomeFile, "rt"); if (fp != NULL) { int chr; while ((chr = fgetc(fp)) != EOF) { //cout << (char)chr; } fclose(fp); } else { perror("Error (source)"); } } void intAlpha(elemento arr[], int size) { for (int i = 0; i < size; i++) { arr[i].car = 'A' + i; arr[i].num = 0; } } void stampa(elemento arr[], int size) { for (int i = 0; i < size; i++) { cout << arr[i].car << ": " << arr[i].num << endl; } } void conta(elemento arr[], char str[], int size) { for (int i = 0; str[i] != '\0'; i++) { int j = 0; while (str[i] != arr[j].car) { j++; } arr[j].num++; } } int main(void) { elemento arr[SIZE]; int lunghezzaAlfabeto = ('Z' - 'A') + 1; char str[SIZE]; cout << "Inserisci una parola: "; cin.getline(str, SIZE); for (int i = 0; str[i] != '\0'; i++) { str[i] = toupper(str[i]); } intAlpha(arr, lunghezzaAlfabeto); conta(arr, str, lunghezzaAlfabeto); stampa(arr, lunghezzaAlfabeto); return 0; }