Witam, chcę napisać program zliczający ilość wystąpień kazdej litery słowa wczytanego wcześniej do tablicy. program powinien się opierać na funkcjach getchar i putchar. Czy coś takiego ma sens, czy inaczej to powinno być?
#include <stdio.h>
#define R 20
int main()
{
int white = 0, other = 0;
char nazwa[R] = { 'a' };
int ilosc_znakow[R];
int i = 0;
printf("Maksymalna dlugosc nazwy to: %d\n ", R);
while (i < R && nazwa[i] != EOF) {
nazwa[i] = getchar();
i++;
}
i = 0;
while (i < R && nazwa[i] != EOF) {
putchar(nazwa[i]);
i++;
}
//for(int i=0;i<strlen(nazwa);i++)
i = 0;
while ((nazwa[i] = getchar()) != EOF) {
if (nazwa[i] >= 'a' && nazwa[i] <= 'z') {
ilosc_znakow[nazwa[i] - 'a']++;
}
else if (nazwa[i] == ' ' || nazwa[i] == '\n' || nazwa[i] == '\t') {
white++;
}
else {
other++;
}
i++;
}
for (char i = 'a'; i < 'z'; i++) {
printf("%c : %d\n", i, ilosc_znakow[i]);
}
printf("Znaki biales: %d, znaki inne: %d", white, other);
return 0;
}