Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SAMuS
0 / 0 / 0
Регистрация: 28.01.2011
Сообщений: 68
#1

Определение среднего количества слов в предложениях - C++

30.01.2013, 17:38. Просмотров 1059. Ответов 1
Метки нет (Все метки)

При написании программных продуктов, обрабатывающих различные тексты, часто появляется необходимость исследовать некоторые статистические данные. Так, такое свойство текста, как среднее количество слов в предложении, может помочь определить язык, на котором написан текст или стиль этого текста (художественный, официально-деловой, неофициальный).

Данный вам текст состоит из предложений, каждое из которых состоит из слов. Слова состоят только из букв английского алфавита и отделяются друг от друга ровно одним пробелом. Последнее слово в предложении всегда заканчивается точкой, перед точкой пробел не ставится. Вам необходимо определить среднее количество слов в предложениях этого текста.

Формат входного файла

Первая и единственная строка входного файла input.txt содержит текст, отвечающий ограничениям, описанным выше. Суммарное количество символов во входном файле не превышает 10 000. Входной файл содержит только строчные и заглавные буквы английского алфавита, точки и пробелы.

Формат выходного файла

В первой строке выходного файла output.txt выведите одно вещественное число k — среднее количество слов в одном предложении в данном вам тексте. Ваш ответ должен отличаться от правильного не более, чем на 10-4. В качестве разделителя в вещественном числе необходимо использовать точку, а не запятую.
Пример входных и выходных данных
input.txt
There is a sample test. This problem is not very hard for you.
output.txt
6.5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2013, 17:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определение среднего количества слов в предложениях (C++):

Работа со строками. Подсчет количества слов в предложениях и т.д - C++
С клавиатуры вводится текстовая строка. Составить программу которая: 1) считает количество слов в каждом предложении; 2) выводит на...

Определение количества слов четной длины в строке - C++
Помогите пожалуйста,при выполнении данного коды выдаётся ошибка, помогите пожалуйста исправить // сколько слов в строке чётной...

Определение в строке количества слов длиннее четырёх символов - C++
Помогите с решением контрольных на C++. Пожалуйста. 2. Разработать программу, которая определяет в строке количество слов длиннее...

Определение количества слов и букв, введенных пользователем (не понимаю логику программы) - C++
Помогите понять некоторые действия программы. Необходимо написать программу, подсчитывающую количество слов и количество букв, введённых...

Подсчет слов в предложениях - C++
Здравствуйте! При написании исходника столкнулся с проблемой подсчета слов. Где может быть ошибка? В принципе задача: Из файла считать...

Строки. Поиск одинаковых слов в предложениях. Вывод вместо одинаковых слов "*" - C++
Ввести два предложения, если в них есть одинаковые слова то во втором предложении заменить эти слова на "*", причем количество "*" должно...

1
Glimpse
9 / 9 / 2
Регистрация: 21.01.2013
Сообщений: 20
31.01.2013, 01:15 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    char buff[10000]; // cуммарное количество символов во входном файле не превышает 10000
    int dot = 0; // количество точек
    int gap = 0; // количество пробелов
    int j = 0;
 
    ifstream fin("input.txt");
    while(!fin.eof())
    {
        fin.getline(buff, sizeof(buff));
    }
 
    // считаем количество точек, чтобы выделить память под массив, в элементах которого 
    // будет хранится число, означающее количество слов, в соответствующем индексу предложении
    char ch;
    for(int i = 0; i < 10000; i++)
    {
        if (buff[i] == '.') 
            dot++;
    }
 
    int *numOfWords = new int[dot];
 
    for(int i = 0; i < 10000; i++)
    {
        if (buff[i] != '.')
        {
            if (buff[i] == ' ') 
                gap++;
        }
        else
        {
            numOfWords[j] = gap + 1;
            gap = -1;
            j++;
        }
    }
 
    int max = numOfWords[0]; // максимальное количество слов
    int min = numOfWords[0]; // минимальное количество слов
 
    for(int i = 0; i < dot; i++)
    {
        if (numOfWords[i] > max) max = numOfWords[i];
        if (numOfWords[i] < min) min = numOfWords[i];
    }
 
    float k;
    k = ((max + min)/(float)2); // среднее количество слов в одном предложении
 
    ofstream fout("output.txt");
    fout << k;
 
    fout.close();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2013, 01:15
Привет! Вот еще темы с ответами:

Вывести список слов в порядке убывания количества вхождений слов - C++
Доброго времени суток. Задание такое: вывести на стандартный выходной поток список всех различных слов в файле в порядке убывания...

Работа с файлами (Определение длины и поиск среднего элемента в документе) - C++
Здравствуйте. Суть задания состоит в том, что необходимо определить длину файла, если длина отрицательная, то найти и вывести средний...

Определение количества элементов в массиве - C++
Как определить количество элементов динамическом и статическом массивах? Спасибо

Определение количества разрядов у числа - C++
Написал программку, которая должна определять количество разрядов у чисел. При вводе двухзначных и трехзначных, программа правильно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.