Определить, сколько раз каждая буква латинского алфавита встречается в заданной строке - C (СИ)
Формулировка задачи:
Дана строка длиной не более 80 символов, оканчивающаяся точкой.
Определить, сколько раз каждая буква латинского алфавита встречается в данной строке.
Наброски скину вечером.
как сделать отбор латинскиских?
Решение задачи: «Определить, сколько раз каждая буква латинского алфавита встречается в заданной строке»
textual
Листинг программы
int count[26];
for(i=0; i<26; i++) count[i] = 0;
for (j=0; j<80; j++) {
char c = s[j];
if (c=='.' || c=='\0') break;
i = -1;
if ('a' <= c && c <= 'z') i = c - 'a';
if ('A' <= c && c <= 'Z') i = c - 'A';
if (i >=0) count[i]++;
}
Объяснение кода листинга программы
В данном коде происходит подсчет количества вхождений каждой буквы латинского алфавита в заданной строке.
- Создается массив count размером 26, и все его элементы инициализируются нулем. Этот массив будет использоваться для подсчета количества вхождений каждой буквы.
- Происходит два цикла:
- Внешний цикл: перебирает все буквы латинского алфавита от 'a' до 'z'.
- Внутренний цикл: перебирает все символы в заданной строке.
- Для каждого символа в строке выполняются следующие действия:
- Если символ равен точке или нулю (что означает конец строки), то внутренний цикл прерывается.
- Переменной i присваивается значение, которое будет использоваться для определения позиции символа в алфавите.
- Если символ является буквой, то i присваивается значение, которое соответствует позиции этой буквы в алфавите.
- Если i не равно нулю (то есть это не пробел), то значение i используется для увеличения соответствующего элемента массива count.
- По завершении обоих циклов, массив count содержит количество вхождений каждой буквы латинского алфавита в заданной строке.