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

Записать в другой файл слова текста начинающиеся и оканчивающиеся на гласные буквы

21.05.2019, 23:05. Показов 1596. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая считывает английский текст из файла и записывает в другой
файл слова текста, начинающиеся и оканчивающиеся на гласные буквы. На С++
Сделал поиск слов начинающихся на гласную. Прошу помочь с нахождением слов оканчивающихся на гласную
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 <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
    string str1;
    string str2;
    ifstream fin;
    fin.open("MyFile.txt");
    if (!fin.is_open())
        cout << "Ошибка. Файл не открылся" << endl;
    else
    {
        cout << "Файл открылся" << endl;
        while (!fin.eof()) //Чтение файла
        {
            str1 = "";
            getline(fin, str1);
            cout << str1 << endl;
        }
    }
    int s = 0, n=0;
    fin.close();
    
    for (int i = 0; i < str1.size(); i++)
    {
        if (str1[i] == ' ' && (str1[i + 1] == 'a' || str1[i + 1] == 'e' || str1[i + 1] == 'y' || str1[i + 1] == 'u'
            || str1[i + 1] == 'i' || str1[i + 1] == 'o' || str1[i + 1] == 'A' || str1[i + 1] == 'E' || str1[i + 1] == 'Y'
            || str1[i + 1] == 'U' || str1[i + 1] == 'I' || str1[i + 1] == 'O'))
        {
            s = i + 1;
            while (str1[s] != ' ')
            {
                cout << str1[s];
                str2 += str1[s];
                s++;
            }
            cout << " ";
        }
    }
    ofstream fout;
    fout.open("MyFile2.txt");
    if (!fout.is_open())
        cout << "Ошибка. Файл не удается открыть" << endl;
    else
        fout << str2;
    fout.close();
    system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2019, 23:05
Ответы с готовыми решениями:

Вывести на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы
Здравствуйте! Прошу помощи или совета, как реализовать такое в ВБА? на c# есть у меня этот код(куча...

Вывести на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы
ПОМОГИТЕ пожайлусто ПЕРЕДЕЛАТЬ прогрммку=) СРОЧНО выручите=( надо чтобы: Написать программу,...

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

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

2
10 / 7 / 3
Регистрация: 14.12.2018
Сообщений: 82
22.05.2019, 00:30 2
C++
1
2
3
4
5
    for (int i = 0; i < strlen(str); i++)
    {
        if (str[i] == ' ')
        str.erase(i - 1, 1);
    }
Здесь происходит удаление последнего символа слова. Думаю сам доделаешь по похожей схеме, которая у тебя уже имеется.
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
22.05.2019, 03:12 3
Кто сказал что конец слова это пробел? А что если конец слова это конец строки \0

Добавлено через 1 час 48 минут
Как то так, правильнее всего. Накидал на скорую руку

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>
 
using namespace std;
 
#define IsG(v) (v == 'A' || v == 'E' || v == 'I' || v == 'O' || v == 'U')
#define IsEng(v) ((v >= 'A') && (v <= 'Z'))
 
int main() {
  string str = "Test,AkAk,Eesu...//..iUI,,I,IC,,oYyyU,Okkkkkddd";
 
  string tmp = "";
  string Result = "";
  
  int IsState = 0;
  int lenStr = str.length();
 
  for(char& c : str) {
    char cBig = c&~0x20;
 
    if(IsEng(cBig)){
        if(IsState == 0)  IsState = IsG(cBig) ? 1 : 2;
        if(IsState == 1)  tmp += c;
    } else if (IsState == 2) {
        IsState = 0;
    } else if(IsState == 1) {
EndStr:
        if(IsG((char)(tmp.back() &~0x20)))
            Result += tmp + "\n";
        tmp = "";
        IsState = 0;
    }
    if(!--lenStr) goto EndStr;
  }
  
  cout<< Result;
}
0
22.05.2019, 03:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2019, 03:12
Помогаю со студенческими работами здесь

Вывести на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы
Помогите пожалуйста, сделать лабу :cry: Лабораторная работа 7. Строки Задание: Написать...

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

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

Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы.
напишите пожалуйста в С++

Написать программу, которая считывает английский текст из файла и выводит на экран слова текста, начинающиеся и оканчивающиеся на гласные буквы
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста,...

Слова, начинающиеся и оканчивающиеся на гласные буквы
ээм))) Помогите решить....Надо очень срочно...((( я вообще не очень понимаю это все..(....а...


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

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