Набрать с клавиатуры предложение и произвести в нем поиск слова в котором будет наиболшее количество гласных букв - C (СИ)
Формулировка задачи:
Задание:Набрать с клавиатуры предложение и произвести в нем поиск слова в котором будет наиболшее количество гласных букв.
Код нужно написать с использованием функций.
(Желательно расписать смысл функции)
Спасибо огромное!!!!
anmartex замечательный человек!!Написал код,но его немного нужно доработать..
Тут используются алгоритмы в некоторых местах,а нужны только функции(((...
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
const char CDelim[] = " \t\n,..!?";
const char CVowel[] = "aeiouy";
char text[256];
char* ptr, * pcur, * pmax = NULL;
int max = 0, cnt;
printf("text: ");
fgets(text, sizeof(text), stdin);
ptr = strtok(text, CDelim);
while (ptr) {
cnt = 0;
for (pcur = ptr; *pcur; ++pcur) {
if (strchr(CVowel, tolower(*pcur))) {
cnt++;
}
}
if (max < cnt) {
pmax = ptr;
max = cnt;
}
ptr = strtok(NULL, CDelim);
}
if (pmax) {
printf("maximum vowels(%d) in '%s' word\n", max, pmax);
}
else {
printf("words with vowels not found\n");
}
return 0;
}Решение задачи: «Набрать с клавиатуры предложение и произвести в нем поиск слова в котором будет наиболшее количество гласных букв»
textual
Листинг программы
/* (пер. с англ.) получить количество гласных. * Т.е. функция возвращает число встретившихся гласных букв в строке. * Принимает непосредственно саму строку */ int getCountVowels(const char* str); /* (пер. с англ.) получить слово с макс гласных. * Т.е. функция возвращает слово с максимальным числом * гласных букв * * Принимает непосредственно саму строку и указатель на * переменную, в которую будет занесено количество гласных * встретившихся в возвращаемом слове */ char* getWordWithMaxVowels(char* str, int* max)
Объяснение кода листинга программы
- В функции
getCountVowelsпроисходит получение количества гласных букв в строке, передаваемой в качестве аргумента. - В функции
getWordWithMaxVowelsпроисходит получение слова с максимальным количеством гласных букв в строке, передаваемой в качестве аргумента. Также передается указатель на переменную, в которую будет занесено количество гласных букв, встретившихся в этом слове.