помогите решить задачу

Ответить
Аватара пользователя
Guest

помогите решить задачу

Сообщение Guest »

вот задача: Составить программу для определения средней длины слова входного текста, заканчивающегося точкой. Слова в тексте разделяются запятыми и/или пробелами.

Пример:

Вход: Новый год, 8-е марта.

Результат: средняя длина слова = 4.00



как это реализовать ума не приложу, если не трудно помогите пожалуйста, заранее благодарен 8)
Аватара пользователя
Prisoner

Re: помогите решить задачу

Сообщение Prisoner »

Алгоритм подскажу, с кодом сложнее Изображение.

1) Разделить вх. текст на слова (разделители - , и _)

2) проходя по всему массиву строк (наши слова) суммируем длины строк в какую-либо переменную S.

3) S делим на количество строк в массиве



Можно сразу, на лету, то есть анализировать ввод и при встретившемся разделителе накапливать информацию о длине слова и их количестве. При точке на входе выполнить вычисления и вывести результат.
Аватара пользователя
pva

Re: помогите решить задачу

Сообщение pva »

Код:

Код: Выделить всё

#include
int parse(const char* s)
{
 *long wordlens = 0;
 *int * *wordcount = 0;
 *stringstream is(s);
 *string st;
 *while(is>>st) {
 * * int last = st.size()-1;
 * * switch (st[last]) {
 * * * * case ',':
 * * * * case '.':
 * * * * * * if(last>0) {
 * * * * * * * *wordlens += last;
 * * * * * * * *wordcount ++;
 * * * * * * }
 * * }
 *}
 *return (double)wordlens/wordcount;
}

[s]Исправлено: Prisoner, 4:47 22-05-2004[/s]
Ответить

Вернуться в «Программирование и базы данных»