Вопрос № 153261: Здравствуйте, уважаемые эксперты! Помогите решить мне задачку на СИ. Нужно в строках найти количество гласных. Есть пример похожей задачи, только там ищут согласные и в предложениях, а не в строках... и нужно чтобы был вывод результата. Очень буду ва...
Вопрос № 153.261
Здравствуйте, уважаемые эксперты! Помогите решить мне задачку на СИ. Нужно в строках найти количество гласных. Есть пример похожей задачи, только там ищут согласные и в предложениях, а не в строках... и нужно чтобы был вывод результата. Очень буду вам благодарен! Пример программы в приложении.
Приложение:
Отправлен: 06.12.2008, 23:44
Вопрос задал: Denton87 (статус: 1-й класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Dr_Andrew
Здравствуйте, Denton87! Постарался решить Вашу задачу средствами "чистого" Си (см. приложение). В приведённый Вами пример для изменения работы программы необходимо было внести лишь минимальные изменения. Вначале объявим несколько переменных: int iVowels для подсчёта числа символов гласных в предложении, которую сразу проинициализируем нулём; символьную переменную char cSymbol для хранения текущей переменной, считанной из файла; а также добавим новую переменную int iStrings для подсчёта числа строк
в файле. Считаем текст из файла (pInputFile = fopen("Text.txt", "r");), после чего, пока не будет достигнут конец файла (while((cSymbol = getc(pInputFile)) != EOF)) будем считывать в переменную cSymbol по одному символу, при этом выводя его (считанный символ) на консоль: putchar(cSymbol). Далее проводим проверку: если считанный символ является буквой (if((cSymbol >= 'a') && (cSymbol <= 'z'))), и если он является гласной (
case 'A': и т.д.), то инкрементируем счётчик гласных (iVowels++;). В противном случае выходим из цикла (default: break;). Если же считанный символ является концом строки (if(cSymbol == '
')), то выводим результат, обнуляем счётчик гласных, а счётчик строк, напротив, инкрементируем (iStrings++;). Удачи!
Приложение:
Ответ отправил: Dr_Andrew (статус: Практикант)
Ответ отправлен: 07.12.2008, 06:41
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237970 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо! =)
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.