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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
#1

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

20.10.2012, 12:33. Просмотров 1929. Ответов 7
Метки нет (Все метки)

Суть задачи такова: нам дана буква, нужно определить, сколько слов в тексте начинается на эту букву, затем вывести эти слова и их количество, текст берем из файла, а количество и эти слова сохраняем в новый файл. Буду очень признателен, если кто-то сможет помочь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 12:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, сколько слов в тексте начинается на заданную букву (C++):

Какой процент слов в тексте начинается на заданную букву - C++
Задан текст, слова которого разделены %. Выяснить и вывести на экран, какой процент слов в тексте начинается на заданную букву (буква...

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

Определить в тексте количество слов, содержащих заданную букву только 1 раз - C++
Определить в тексте кол-во слов, содержащих заданную букву только 1 раз. Помогите плиз. #include <stdio.h> #include...

Cтрока: Определить количество средних слов в строке и какое из слов начинается на большую по коду букву - C++
Определить количество средних слов в строе и какое из слов начинается на большую по коду букву. Напишите плз код данной программы...

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

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

7
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2012, 13:03 #2
В чём проблема?
0
C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
20.10.2012, 13:21  [ТС] #3
Забыл суть проблемы указать. Как выполнить копирование слова, содержащее данную букву в выходной файл?
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2012, 13:45 #4
Создаёте массив (лучше вектор строк) для хранения слов, которые начинаются на нужную букву, и счётчик таких слов. Создаёте поток для чтения из файла. Читаете файл по символу в какую-нибудь переменную типа char. Если считалась нужная буква, то увеличиваете счётчик, файловый курсор возвращаете на одну позицию назад, через оператор извлечения (>>) читаете нужное слово во временную переменную типа string. Помещаете эту переменную в массив. Далее опять чтение по символу и т.д. После достижения конца файла, создаёте поток для записи в файл. Через оператор вставки (<<) записываете в него значение счётчика слов, затем содержимое массива со словами.
1
C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
22.10.2012, 21:49  [ТС] #5
спасибо за помощь, но c++ только началось, поэтому не могу реализовать данный алгоритм все равно пока что) но буду пробовать снова
0
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;
}
Проверил только на компелябельность
1
alsav22
5426 / 4821 / 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, а нужно только те слова, которые начинаются на этот символ.
Потом, если строго следовать заданию, то в файл сначала нужно записать количество таких слов, а затем эти слова. Поэтому я и предложил читать сначала в массив.
2
yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
22.10.2012, 23:26 #8
Что-то я читать задание разучился.. Или не умел)
0
22.10.2012, 23:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2012, 23:26
Привет! Вот еще темы с ответами:

Определить количество слов в тексте, оканчивающихся на гласную букву - C++
Помогите пожалуйста с заданием, особенно пункт 2 ... :( С помощью текстового редактора создать файл, содержащий текст, длина которого...

Определить процент слов в тексте заканчивающихся на русскую букву а - C++
Как правильно подсчитать процент слов? Выводит 0. Заранее огромное спасибо. #include &lt;iostream&gt; #include &lt;string&gt; #include...

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? Помогите пожалуйста

Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте? - C++
Здравствуйте, мне вот задание дали. Подскажите алгоритм решения, а то я не очень с этим разбираюсь. Задача: Дан файл, содержащий текст....


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

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

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