Форум программистов, компьютерный форум CyberForum.ru

Определить, сколько слов в тексте начинается на заданную букву - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
C/man
 Аватар для C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
20.10.2012, 12:33     Определить, сколько слов в тексте начинается на заданную букву #1
Суть задачи такова: нам дана буква, нужно определить, сколько слов в тексте начинается на эту букву, затем вывести эти слова и их количество, текст берем из файла, а количество и эти слова сохраняем в новый файл. Буду очень признателен, если кто-то сможет помочь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 12:33     Определить, сколько слов в тексте начинается на заданную букву
Посмотрите здесь:

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? C++
Определить количество слов в тексте, оканчивающихся на гласную букву C++
Cтрока: Определить количество средних слов в строке и какое из слов начинается на большую по коду букву C++
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? C++
C++ Слова в тексте разделены точкой с запятой. Определить сколько слов, заканчиваются буквой а.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2012, 13:03     Определить, сколько слов в тексте начинается на заданную букву #2
В чём проблема?
C/man
 Аватар для C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
20.10.2012, 13:21  [ТС]     Определить, сколько слов в тексте начинается на заданную букву #3
Забыл суть проблемы указать. Как выполнить копирование слова, содержащее данную букву в выходной файл?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2012, 13:45     Определить, сколько слов в тексте начинается на заданную букву #4
Создаёте массив (лучше вектор строк) для хранения слов, которые начинаются на нужную букву, и счётчик таких слов. Создаёте поток для чтения из файла. Читаете файл по символу в какую-нибудь переменную типа char. Если считалась нужная буква, то увеличиваете счётчик, файловый курсор возвращаете на одну позицию назад, через оператор извлечения (>>) читаете нужное слово во временную переменную типа string. Помещаете эту переменную в массив. Далее опять чтение по символу и т.д. После достижения конца файла, создаёте поток для записи в файл. Через оператор вставки (<<) записываете в него значение счётчика слов, затем содержимое массива со словами.
C/man
 Аватар для C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
22.10.2012, 21:49  [ТС]     Определить, сколько слов в тексте начинается на заданную букву #5
спасибо за помощь, но c++ только началось, поэтому не могу реализовать данный алгоритм все равно пока что) но буду пробовать снова
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
22.10.2012, 22:57     Определить, сколько слов в тексте начинается на заданную букву #6
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
#include<iostream>
#include<string>
#include<fstream>
#include<ostream>
int main() {
    std::cout << "Enter name of file: \n";
    std::string temp;
    std::cin >> temp;
    std::ifstream I(temp.c_str());
    std::cout << "Enter name of output file: \n";
    std::cin >> temp;
    std::ofstream O(temp.c_str());
    int count = 0;
    if (I.is_open() && O.is_open())  {
        char c = 0;
        std::cout << "Enter symbol: \n";
        std::cin >> c;
        while (!I.eof()) {
            I >> temp;
            for (int i = 0; i < temp.size(); ++i) {
                if (temp[i] == c) {
                    O << temp << " ";
                    count ++;
                    break;
                }
                else
                    continue;
            }
        }
        I.close();
        O << "\nNumber of words: " << count;
        O.close();
    }
    else
        abort();
    return 0;
}
Проверил только на компелябельность
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.10.2012, 23:15     Определить, сколько слов в тексте начинается на заданную букву #7
Вот тут
C++
1
2
3
4
5
6
7
8
9
for (int i = 0; i < temp.size(); ++i) {
                if (temp[i] == c) {
                    O << temp << " ";
                    count ++;
                    break;
                }
                else
                    continue;
            }
в файл будут записываться и подсчитываться все слова, в которых есть символ равный c, а нужно только те слова, которые начинаются на этот символ.
Потом, если строго следовать заданию, то в файл сначала нужно записать количество таких слов, а затем эти слова. Поэтому я и предложил читать сначала в массив.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2012, 23:26     Определить, сколько слов в тексте начинается на заданную букву
Еще ссылки по теме:

C++ Определить, сколько слов оканчивается на заданную букву
C++ Какой процент слов в тексте начинается на заданную букву
Определить в строке количество слов, начинающихся на заданную пользователем букву C++

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

Или воспользуйтесь поиском по форуму:
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
22.10.2012, 23:26     Определить, сколько слов в тексте начинается на заданную букву #8
Что-то я читать задание разучился.. Или не умел)
Yandex
Объявления
22.10.2012, 23:26     Определить, сколько слов в тексте начинается на заданную букву
Ответ Создать тему
Опции темы

Текущее время: 11:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru