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

Найти в файле f все слова, которые слева направо и наоборот читаются одинаково и составить из них новый файл q

13.06.2019, 13:29. Показов 1726. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я без-понятия как писать этот код. Если будет у вас свободная минутка, пожалуйста помогите.
Вот это условие:
Найти в файле f все слова, которые слева направо и наоборот читаются одинаково и составить из них новый файл q.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2019, 13:29
Ответы с готовыми решениями:

Найти в файле f все слова, слева направо и наоборот читаются одинаково и составить из них новый файл q
Найти в файле f все слова, слева направо и наоборот читаются одинаково и составить из них новый...

Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются слева направо и наоборот, например, "АННА", "ШАЛАШ"
Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются...

Вывести слова, которые читаются одинаково слева направо и справа налево
Всем привет! Помогите написать программу, в которую вводишь строку слов, а она выводит слова,...

[КуМир]Найти в массиве A все числа-перевертыши, которые читаются одинаково слева направо и справа налево (например, 5, 4
алг цел Сумма перевёртышей (цел N, аргрез целтаб A) дано | Целочисленный массив A надо | Найти в...

6
6105 / 3460 / 1406
Регистрация: 07.02.2019
Сообщений: 8,799
13.06.2019, 13:30 2
Цитата Сообщение от PreZident4442 Посмотреть сообщение
Я без-понятия как писать этот код
Что именно вызывает трудности?
0
0 / 0 / 0
Регистрация: 17.06.2018
Сообщений: 68
13.06.2019, 13:43  [ТС] 3
zayats80888, тем что я не понимаю как это сделать
0
599 / 436 / 136
Регистрация: 22.11.2017
Сообщений: 1,344
13.06.2019, 17:16 4
PreZident4442, в VisualStudio пишешь, какая кодировка у файла текстовго, откуда слова читаем?
0
0 / 0 / 0
Регистрация: 17.06.2018
Сообщений: 68
13.06.2019, 17:35  [ТС] 5
SomniPhobia,
"какая кодировка у файла текстовго" .txt
"откуда слова читаем?" Из файла f.txt (Условное название) Переместить в файл q.txt (Условное название) слова которые читаются задом наперёд: заказ мадам пример форма
0
599 / 436 / 136
Регистрация: 22.11.2017
Сообщений: 1,344
13.06.2019, 17:46 6
Лучший ответ Сообщение было отмечено PreZident4442 как решение

Решение

PreZident4442, вот, посмотри код.
*.txt это не кодировка, а расширение, формат текстового файла.
Кодировка файла это номер таблицы, по которой компьютер из номера символа находит графическое изображения символа. Я использую кодировку 866. Файл f.txt должен быть закодирован в кодировке 866. Я на скрине показал, где отображается номер кодировки при открытии *.txt через NotePad++.
Если хочешь получить файл *.txt именно в кодировке 866, то раскомментируй строки 26 - 38 в моём коде. Это создаст файл f.txt в кодировке 866, а потом в него пиши исходный текст.

Кликните здесь для просмотра всего текста

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <cmath>
#include <string>
#include <fstream>
#include <sstream>
#include <vector>
#include <tuple>
#include <iomanip>
#include <algorithm>
 
using namespace std;
 
template<class T>
vector<T> split(const T& s, const T& separators);
 
wstring wstring_towlower(const wstring& s);
 
int main()
{
    //setlocale(LC_ALL, "Rus");
    const string path_in("f.txt");
    const string path_out("q.txt");
    const wstring seps(L" .?!,:;!@#$%^&*()[]{}`~\"№-+/*\\_");
    wcout.imbue(locale("rus_rus.866"));
 
    /*
    //Создание файла для считывания
    wofstream create;
    create.imbue(locale("rus_rus.866"));
    create.open(path_in);
    create << L"Текст";
    create.close();
    return 0;
    */
 
    wifstream fin;
    fin.imbue(locale("rus_rus.866"));
    fin.open(path_in);
    if (!fin.is_open())
    {
        wcout << L"Ошибка. Файл не открыт" << endl;
        system("pause");
        return 1;
    }
    wofstream fout;
    fout.imbue(locale("rus_rus.866"));
    fout.open(path_out);
 
    wstring dump;
    for (;fin.good();)
    {
        wstring line;
        getline(fin, line);
        dump += line + seps.front();
    }
    fin.close();
 
    auto words = split(dump, seps);
    for (const auto& word : words)
    {
        wstring word_down(wstring_towlower(word));
        wstring mirror(word_down);
        reverse(mirror.begin(), mirror.end());
        if (mirror == word_down)
        {
            fout << word_down << L" ";
        }
    }
    fout.close();
 
    system("pause");
    return 0;
}
 
template<class T>
vector<T> split(const T& s, const T& separators)
{
    vector<T> words;
    T word;
    for (const auto& c : s)
    {
        bool is_separator = (separators.find(c) != T::npos);
        if (is_separator && !word.empty())
        {
            words.push_back(word);
            word.clear();
        }
        else if (!is_separator)
        {
            word.push_back(c);
        }
    }
    if (!word.empty())
    {
        words.push_back(word);
    }
    return words;
}
 
wstring wstring_towlower(const wstring& s)
{
    wstring output;
    setlocale(LC_ALL, "Russian");
    transform(s.begin(), s.end(), back_inserter(output), ::towlower);
    setlocale(LC_ALL, "C");
    return output;
}
Миниатюры
Найти в файле f все слова, которые слева направо и наоборот читаются одинаково и составить из них новый файл q   Найти в файле f все слова, которые слева направо и наоборот читаются одинаково и составить из них новый файл q  
1
0 / 0 / 0
Регистрация: 17.06.2018
Сообщений: 68
13.06.2019, 17:52  [ТС] 7
SomniPhobia, Спасибо большое, на счёт кодировку не сразу уловил ЕЩЕ РАЗ СПАСИБО!

Добавлено через 3 минуты
SomniPhobia, Я запускаю не через Visual Studio а через Sublime Text 3
0
13.06.2019, 17:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2019, 17:52
Помогаю со студенческими работами здесь

Написать программу, которая выделяет любим способом в тексте слова палиндромы (слова, которые читаются одинаково справа налево и слева направо)
Вот примеры - &quot;level, radar, dewed, civic, solos...&quot; и строка - &quot;When I get on a high level in...

Вывести на экран слова из этой строки, которые одинаково читаются слева направо и справа налево (палиндромы)
Составить программу, которая вводит с клавиатуры строку, содержащую до 80 символов, и выводит на...

Вывести элементы массива, которые читаются слева направо и справа налево одинаково
15.5 Дан массив натуральных чисел A. Все элементы трехзначные. Вывести те элементы, которые...

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


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

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