Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 19.02.2020
Сообщений: 10

Скопировать из файла FILE1 в файл FILE2 все строки, в которых содержится не менее двух одинаковых слов

19.02.2020, 14:27. Показов 5166. Ответов 2

Студворк — интернет-сервис помощи студентам
Помогите решить задачу, пожалуйста. Условие: Скопировать из файла FILE1 в файл FILE2 все строки, в которых содержится не менее двух одинаковых слов. Определить номер слова, в котором больше всего цифр

Добавлено через 3 часа 10 минут
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
int first()
{
    ifstream in("f1_first.txt");
    ofstream out("f2_first.txt");
    string line, tmpWord, word;
    while (getline(in, line))
    {
        stringstream ss(line);
        bool hasEquals = false;
        ss >> tmpWord;
        while (ss >> word)
        {
            if (word == tmpWord)
            {
                hasEquals = true;
                break;
            }
        }
        if (hasEquals) out << line << endl;
    }
    in.close();
    out.close();
    return 0;
}
Тут есть сравнение первого слова с остальными словами в строке и последующая запись во второй файл, но как подставить на место tmpWord следующее слово?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2020, 14:27
Ответы с готовыми решениями:

Скопировать из файла F1 в файл F2 все строки в которых нет одинаковых слов
Скопировать из файла F1 в файл F2 все строки в которых нет одинаковых слов

Файл: Скопировать из File_1 в File_2 все строки, в которых нет одинаковых слов...
Скопировать из File_1 в File_2 все строки, в которых нет одинаковых слов. Определить количество гласных букв в первой строке файла File_2

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

2
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
19.02.2020, 15:24
Лучший ответ Сообщение было отмечено KriSWhitch как решение

Решение

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
#include <iostream>
#include <unordered_set>
#include <string>
#include <fstream>
#include <sstream>
 
int main()
{
    std::ifstream is("input.txt");
    std::ofstream os("output.txt");
    if (!is || !os) return 1;
    std::string str, word;
    std::unordered_set<std::string> uset;
 
    while (std::getline(is, str)) {
        uset.clear();
        std::stringstream ss(str);
 
        while (ss >> word) {
            if (!uset.insert(word).second) {
                os << str << '\n';
                break;
            }
        }
    }
 
    is.close();
    os.close();
    return 0;
}
2
0 / 0 / 0
Регистрация: 19.02.2020
Сообщений: 10
19.02.2020, 21:21  [ТС]
Большое спасибо за помощь!

Добавлено через 52 минуты
Вот итоговый код задания, в нём так же есть возможность вывести слово с максимальным количеством букв латинских

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
int first()
{   //копирование из файла F1 в файл F2 строк, которые содержат не менее двух одинаковых слов
    ifstream is("f1_first.txt");
    ofstream os("f2_first.txt");
    if (!is || !os) return 1;
    string str, word;
    unordered_set<string> uset;
    while (getline(is, str)) {
        uset.clear();
        stringstream ss(str);
 
        while (ss >> word) {
            if (!uset.insert(word).second) {
                os << str << '\n';
                break;
            }
        }
    }
    is.close();
    os.close();
    //Определяем номер слова, в котором больше всего цифр
    ifstream isss("f1_first.txt");
    string str1;
    while (getline(isss, str1)) {
        string s, word, mostDig, mostLet;
        int i, count_letters, count_digits, max_letters = 0, max_digits = 0;
        stringstream words(str1);
        while (isss >> word) {
            i = 0;
            count_letters = 0;
            count_digits = 0;
            while (word[i])
            {
                if (word[i] >= '0' && word[i] <= '9') count_digits++;
                if ((word[i] >= 'a' && word[i] <= 'z') || (word[i] >= 'A' && word[i] <= 'Z')) count_letters++;
                i++;
            }
            if (count_digits > max_digits) { max_digits = count_digits; mostDig = word; }
            if (count_letters > max_letters) { max_letters = count_letters; mostLet = word; }
        }
        cout << "Word with max digits: " << mostDig;
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2020, 21:21
Помогаю со студенческими работами здесь

Скопировать текстовые файлы file1 file2 file3 file4 в домашней папке в директорию dir2 с использованием шаблона имен
Как скопировать текстовые файлы file1 file2 file3 file4 в домашней папке в директорию dir2 с использованием шаблона имен? Пробовал сp *.txt...

Скопировать из файла F1 в файл F2 все строки, в которых есть слова, совпадающие с первым словом
Скопировать из файла F1 в файл F2 все строки, в которых есть слова, совпадающие с первым сло-вом. Определить количество согласных букв в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru