Мне нужно вернуть количество символов ASCII в порядке их появления в массиве символов, полученном пользовательским вводом
Мое текущее решение - возвращать символы в порядке возрастания их появления в таблице ASCII, а не впорядок их ввода пользователем
#include <stdio.h>
#include <string.h>
int main()
{
char string[16];
int c = 0, count[128] = {0}, x, counted = 0;
printf("Enter a word>\n");
scanf("%s", string);
while (string[c] != '\0') {
if(string[c] >= '!' && string[c] <= '~'){
x = string[c] - '!';
count[x]++;
}
c++;
}
for (c = 0; c < 128; c++){
if(count[c] > 1){
printf("Duplicate letter: %c, Occurrences: %d\n", c + '!', count[c]);
counted++;
}
}
if(counted < 1){
printf("No duplicates found\n");
}
return 0;
}
Пример ввода:
AAAAaaaaBBBbb99
Желаемый вывод:
Дублирующаяся буква: A, Вхождения: 4
Дублирующаяся буква: a, Вхождения: 4
Дублирующаяся буква: B, Вхождения: 3
Дублирующаяся буква: b, Вхождения: 2
Дублирующаяся буква:9, Вхождения: 2
Мой текущий (неправильный) вывод:
Дублирующаяся буква: 9, Вхождения: 2
Дублирующаяся буква: A, Вхождения: 4
Дубликат письма: B, Вхождения: 3
Дубликат письма: a, Вхождения: 4
Дубликат письма: b, Вхождения: 2
Любая помощь здесь очень ценится