Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
interpol
0 / 0 / 2
Регистрация: 06.11.2014
Сообщений: 27
#1

Строки и файлы - C++

06.11.2014, 17:27. Просмотров 251. Ответов 3
Метки нет (Все метки)

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

Программу написать написал, и она даже компилируется, но поставленную задачу не решает. Ошибка где-то кроется в циклах (когда for и while уже используются совместно), но собственных знаний ее найти мне не хватает.

Да, еще было бы неплохо, если кто-нибудь объяснил, что используется в строке 23, а то я ее взял просто, как шаблон.

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
#include <iostream>
#include <fstream>
#include <string>
#include <cstdio>
#include <clocale>
#include <cstring>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "RUS");
    int n=0;
    int i=1;
    string str1;
    string str2;
    //Создаем файл Right.txt
    ofstream fout("Right.txt");
    fout.close();
    //Открываем файл
    ifstream fin("Mixed.txt");
    //Считываем количество строк
    while (fin.peek() != EOF)
    {
        getline(fin, str1);
        n++;
    }
    //Сортируем строки
    for (i=1; i<n; i++)
    {
        while (fin.peek() != EOF)
        {
            getline(fin, str2);
            if (i<10 && i==str2[str2.length()-2])
            {
                ofstream fout("Right.txt", ios_base::app);
                fout<<str2<<"\n";
                fout.close();
            }
            else if (i>=10 && i==str2[str2.length()-3])
            {
                ofstream fout("Right.txt", ios_base::app);
                fout<<str2<<"\n";
                fout.close();
            }
        }
    }
    system("pause");
    return 0;
}

http://www.cyberforum.ru/cpp-beginners/thread688790.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2014, 17:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Строки и файлы (C++):

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

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

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

строки и файлы
завтра сдавать, а задачи нет готовой(не ну конечно есть, но только на си, а...

файлы и строки
уважаемые программисты! помогите пожалуйста нужно написать программу, которая...

3
nmcf
6238 / 5550 / 2525
Регистрация: 14.04.2014
Сообщений: 23,337
06.11.2014, 22:38 #2
Сначала считай все строки из файла в какой-нибудь массив или в vector. После выдели номера и только тогда сортируй его. Отсортированный записать в файл.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8021 / 4864 / 1425
Регистрация: 29.11.2010
Сообщений: 13,240
07.11.2014, 01:03 #3
Можно сразу считывать в map, где ключом будет номер строки (int), а значением - сама строка (string). И потом пройтись по всем элементам контейнера, записывая в результирующий файл лишь значения.
0
nmcf
6238 / 5550 / 2525
Регистрация: 14.04.2014
Сообщений: 23,337
07.11.2014, 07:48 #4
что используется в строке 23
peek() - для проверки, что достигнут конец файла.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2014, 07:48
Привет! Вот еще темы с решениями:

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

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

Файлы и строки
Вот пишу такую программу которая выводит в файл 2 строки из первого диапазоном...

Файлы и строки
Помогите мне решить эту задачу: написать программу, которая считывает текст...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru