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

Посчитать количество строк в текстовом файле, записать в выходной файл самую длинную строку

06.06.2020, 00:02. Показов 1684. Ответов 5

Студворк — интернет-сервис помощи студентам
Надо создать прогу , которая посчитает количество строк в текстовом файле. Запишет в выходной файл самую длинную строку.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.06.2020, 00:02
Ответы с готовыми решениями:

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

В текстовом файле найти самую длинную строку и ее длину
Добрый вечер. Не могу доделать задачу "Дан текстовый файл. Найти самую длинную строку и ее длину". Текст в файле: mama mila ...

В произвольном текстовом файле найти самую длинную строку
Всем доброго времени суток! Наконец-то дошли руки до изучения C#) Изучаю самостоятельно. Дошел до работы с файлами. Поставлена...

5
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 39
06.06.2020, 00:16  [ТС]
Посчитать количество строк в текстовом файле. Записать в выходной файл самую длинную строку. Вообще не понимаю как это сделать. Преподы ничему не учат
0
2 / 1 / 1
Регистрация: 08.06.2016
Сообщений: 19
06.06.2020, 00:34
Как то так - проверь, возможны ошибки
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
#include <iostream>
#include <string>
#include <fstream>
#include <conio.h>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string maxword = "", line, buf;
    int num;
    ifstream file("text.txt");
    while (!file.eof()) 
    {
            file >> line;
            line += " ";
            for (int i = 0; i < line.length(); i++) 
            {
                if (line[i] != ' ')
                    buf += line[i];
                else 
                {
                    num++
                    if (maxword.length() < buf.length())
                        maxword = buf;
                    buf.clear();
                }
            }
    }
        cout << "Number words in file: " << num << endl << "Max length word : " << maxword;
        _getch();
        return 0;
}
Добавлено через 5 минут
Это всё в консоль выводится
чтобы в файл, вместо:
C++
1
cout << "Max length word : " << maxword;
Нужно сделать так:
C++
1
2
3
ofstream file2("text2.txt");
file2.write(maxword);
file2.close();
0
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 39
06.06.2020, 00:41  [ТС]
Ругается
1.Предупреждение C6001 Использование неинициализированной памяти "num". Practicka1 C:\USERS\79818\SOURCE\REPOS\PRACTICKA1\P RACTICKA1\PRACTICKA1.CPP 32
2.Предупреждение C4018 <: несоответствие типов со знаком и без знака Practicka1 C:\Users\79818\source\repos\Practicka1\P racticka1\Practicka1.cpp 19
3.Ошибка C4700 использована неинициализированная локальная переменная "num" Practicka1 C:\Users\79818\source\repos\Practicka1\P racticka1\Practicka1.cpp 25

Добавлено через 3 минуты
Ругается
1.Предупреждение C6001 Использование неинициализированной памяти "num". Practicka1 C:\USERS\79818\SOURCE\REPOS\PR ACTICKA1\PRACTICKA1\PRACTICKA1 .CPP 32
2.Предупреждение C4018 <: несоответствие типов со знаком и без знака Practicka1 C:\Users\79818\source\repos\Pr acticka1\Practicka1\Practicka1 .cpp 19
3.Ошибка C4700 использована неинициализированная локальная переменная "num" Practicka1 C:\Users\79818\source\repos\Pr acticka1\Practicka1\Practicka1 .cpp 25

Добавлено через 2 минуты
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E0413 не существует подходящей функции преобразования из "std::string" в "const char *" Practicka1 C:\Users\79818\source\repos\Practicka1\P racticka1\Practicka1.cpp 33
Ошибка (активно) E0165 слишком мало аргументов в вызове функции Practicka1 C:\Users\79818\source\repos\Practicka1\P racticka1\Practicka1.cpp 33
Предупреждение C6001 Использование неинициализированной памяти "num". Practicka1 C:\USERS\79818\SOURCE\REPOS\PRACTICKA1\P RACTICKA1\PRACTICKA1.CPP 32
Предупреждение C4018 <: несоответствие типов со знаком и без знака Practicka1 C:\Users\79818\source\repos\Practicka1\P racticka1\Practicka1.cpp 19
Ошибка C2660 std::basic_ostream<char,std::char_traits <char>>::write: функция не принимает 1 аргументов Practicka1 C:\Users\79818\source\repos\Practicka1\P racticka1\Practicka1.cpp 33
0
2 / 1 / 1
Регистрация: 08.06.2016
Сообщений: 19
06.06.2020, 00:41
Лучший ответ Сообщение было отмечено Qoozeek как решение

Решение

Теперь не должно
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
#include <iostream>
#include <string>
#include <fstream>
#include <conio.h>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string maxword = "", line, buf;
    int num=0;
    ifstream file("text.txt");
    while (!file.eof())
    {
        file >> line;
        line += " ";
        for (int i = 0; i < line.length(); i++)
        {
            if (line[i] != ' ')
                buf += line[i];
            else
            {
                if ( line[i] - 1 != ' ' )
                num++;
                    if (maxword.length() < buf.length())
                        maxword = buf;
                buf.clear();
            }
        }
    }
    cout << "Number words in file: " << num << endl << "Max length word : " << maxword;
    ofstream file2("text2.txt");
    file2 << maxword;
    file2.close();
    _getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 39
06.06.2020, 00:43  [ТС]
Да, теперь всё работает. Огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2020, 00:43
Помогаю со студенческими работами здесь

Файл: Записать в файл самую длинную и самую короткую строку из исходного файла.
Условие задачи: создайте текстовый файл с количеством строк с‹=10 . Создайте новый текстовый файл и запишите в него самую длинную и самую...

В текстовом файле определить самую длинную строку и поставить ее на место первой строки
В текстовом файле определить самую длинную строку и поставить ее на место первой строки а первую на место самой длинной

В текстовом файле найти самую длинную и самую короткую строки
Тема: Создание и обработка текстовых файлов. Цель: Написание и отладка программ обработки текстовых файлов. В текстовом файле найти...

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

В текстовом файле найти самую длинную последовательность цифр
Всем привет! Нужно найти в текстовом файле наибольшую последовательность цифр. Как обработать данные которые находятся в файле?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru