С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 11.12.2017
Сообщений: 44
1

Содержимое файла записать в queue и сосчитать количество гласных

11.02.2018, 18:11. Показов 1465. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно написать две функции:
1 функция) Нужно считать с файла и записать в queue 5 слов.
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
#include "stdafx.h"
#include <iostream>
#include <queue>
#include <condition_variable>
#include <fstream> 
#include <cstring>
#include <sstream>
#include <algorithm>
#include <functional>
#include <iterator>
#include<cstring>
 
 
std::queue<std::string> queue;
//1
void readAndWriteFile(const std::string& pathToFile)
{
    unsigned number = 5;
    std::ifstream stream(pathToFile);
    if (!stream)
    {
        std::cout << "Can not open file" << "\n";
    }
    else
    {
        for (int index = 0; index < number; ++index ) 
        {
            
            queue.push(stream);
        }
    }
}
//2
bool isVowel(char ch) 
{ 
    return std::strchr("aeiouAEIOU", ch) != NULL; 
}
void findVowels() 
{
    std::string::const_iterator p = std::partition(queue.front(), queue.back(), std::ptr_fun(isVowel));
 
    std::copy(queue.front(), queue.back(),
        std::ostream_iterator<char>(std::cout, " "));
 
}
 
    
int main()
{
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2018, 18:11
Ответы с готовыми решениями:

Сосчитать количество символов из файла и записать результат в новый файл
задание сосчитать количество символов из файла и записать результат в новый файл Помогите...

Записать в файл g количество гласных букв в каждой строке файла f
Дан файл F. Написать в файл g, кол-во гласных букв в каждой строке файла f.

Записать в файл g количество гласных букв в каждой стоке файла f
дан файл f. Написать в файл g, кол-во гласных букв в каждой стоке файла f.

Сосчитать количество гласных букв в н-слове, взятом из списка слов
Сосчитать кол-во гласных букв в n-слове, взятом из списка слов. Размер списка 15 слов. Максимальная...

26
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.02.2018, 14:38 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от olena_nov Посмотреть сообщение
Мне нужно еще переверять а не конец ли у меня черги когда я записываю 5 слов
Не понял.
Цитата Сообщение от olena_nov Посмотреть сообщение
Например у меня есть только 3 слова а не 5 и мне их нужно записать
Их - это кого? Какими словами заполнить до недостающего количества?

То есть считали из файла не более 5 слов. Если в файле слов оказалось меньше, то заполнить последним считанным словом до недостающего количества. Так что-ли?
0
1 / 1 / 0
Регистрация: 23.06.2017
Сообщений: 153
14.02.2018, 14:54 22
olena_nov, может вам нужно искать в тексте конец а не в очереди?
0
1 / 1 / 0
Регистрация: 11.12.2017
Сообщений: 44
14.02.2018, 15:14  [ТС] 23
MrGluck, нет. у меня есть queue я его заполняю в функции по 5 слов потом в другой функции счытываю эти слова и ищу гласные. и так по кругу. Так от , может ж такое быть что у меня уже будет конец слов а я в
for (std::uint8_t count = 0; count < 5 ; ++count)
иду до 5 и нечего будет записывать так как слов уже нету. Мне нужно делать проверку на : не конец ли уже текста. И как это делать я не знаю

Добавлено через 1 минуту
dimaSlon, да в тексте

Добавлено через 10 минут
я так еще думала сделать:
C++
1
2
for (std::uint8_t count = 0; (count < maxWordCount) || (count != '\0'); ++count)
            queue.push(word);
но я не знаю правильно ли .
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
14.02.2018, 18:20 24
Цитата Сообщение от olena_nov Посмотреть сообщение
Например у меня есть только 3 слова а не 5 и мне их нужно записать.
В моей версии цикл чтения слегка поправить
C++
1
2
3
4
5
6
    for ( i = 0; i < WORDS_TO_TEST; ++i ) {
        if ( ! ( ifs >> wrd ) ) 
            break;
        
        words.push(wrd);
    }
и можно хоть с пустым файлом запускать.
1
1 / 1 / 0
Регистрация: 11.12.2017
Сообщений: 44
14.02.2018, 18:52  [ТС] 25
easybudda, спасибо, но как я уже писала я делаю чтобы понять как делать а не тупо чей то код взять))
0
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
14.02.2018, 22:41 26
Мне больше нравится вариант
C++
1
2
for ( i = 0; i < WORDS_TO_TEST && ifs >> wrd; ++i )
    words.push(wrd);
2
1 / 1 / 0
Регистрация: 11.12.2017
Сообщений: 44
15.02.2018, 16:10  [ТС] 27
MrGluck, easybudda, наконец то я сделала задание, спасибо за помощь
0
15.02.2018, 16:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2018, 16:10
Помогаю со студенческими работами здесь

Записать в текстовый файл содержимое Edit, и прочитать содержимое файла в Memo
Создать приложение которое создает текстовый файл текстовый файл text.txt записывает в него текст...

Сосчитать количество нулевых элементов массива и записать их индексы в массиве IND
Задание 4. Организация циклов Составить схему алгоритма и программу циклического...

В строке посчитать количество гласных и согласных и записать из количество в конце строки
В строке посчитать количество гласных и согласных и записать из количество в конце строки....

Подсчитать количество гласных букв, результат записать в файл g
Создать и заполнить текс. файл f. Подсчитать кол.во гласных букв, рехультат записать в файл g


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru