Форум программистов, компьютерный форум CyberForum.ru

C++, переписать данные из файла в файл, отсортировав по фамилии и убыванию года рождения - C++

Восстановить пароль Регистрация
 
lese4ka
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 6
23.03.2012, 20:50     C++, переписать данные из файла в файл, отсортировав по фамилии и убыванию года рождения #1
В файле input.xtx содержатся сведения о группе студентов в формате:
1.номер группы;
2. запись о каждом студенте группы, которая содержит следующие сведения:фамилия, имя, отчество, год рождения, оценки по пяти предметам.
Переписать данные файла input.txt в output.txt, отсортировав их:
в алфавитном порядке по фамилии, а затем по убыванию года рождения.
Прошу показать сортировку любым методом, но желательно чем-нибудь попроще, например методом вставок или методом пузырька.
Исходный файл может быть задан так:
161
Иванов Пётр Иванович 1995 5 4 5 4 5
Трунина Галина Николаевна 1996 4 5 4 5 5
Васнецова Анастасия Олеговна 1995 5 5 5 5 4
Сидоров Андрей Андреевич 1997 3 4 3 3 5
Добавлено через 2 часа 22 минуты
******

Добавлено через 2 часа 14 минут
*******
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 20:50     C++, переписать данные из файла в файл, отсортировав по фамилии и убыванию года рождения
Посмотрите здесь:

C++ В файле input.txt содержатся сведения о группе студентов. переписать данные файла в файл output.txt, отсортировав их по возрастанию
C++ Переписать данные файла input.txt в output.txt, отсортировав их
C++ Переписать данные файла input.txt в output.txt, отсортировав их
C++ Выделить отдельные данные в файле и переписать в другой файл
C++ Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
C++ Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”
Работа с файлами. Вывести список группы по убыванию года рождения студента C++
Переписать данные файла input.txt в файл output, отсортировав их по возрастанию средней оценки методом выбора C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jambas92
 Аватар для jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
23.03.2012, 21:29     C++, переписать данные из файла в файл, отсортировав по фамилии и убыванию года рождения #2
ну если в виде массива рассматривать, то будет так:

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
#include <iostream>
#include <string>
using namespace std;
int main()
{
    string fName[100];
    string lName[100];
    string tName[100];
    int year[100];
    int s1[100];
    int s2[100];
    int s3[100];
    int s4[100];
    int s5[100];
 
    int n;
 
    cout << "Enter the number of students\n";
 
    cin >> n;
 
    for (int i=0; i<n; i++)
    {
        cin >> lName[i] >> fName[i] >> tName[i] >> year[i] >> s1[i] >> s2[i] >> s3[i] >> s4[i] >> s5[i];
    }
 
    //buble sort
 
    for (int i=0; i<n-1; i++)
    {
        for (int j=i+1; j<n; j++)
        {
            if (lName[i] > lName[j])
            {
                swap(fName[i], fName[j]);
                swap(lName[i], lName[j]);
                swap(tName[i], tName[j]);
                swap(year[i], year[j]);
                swap(s1[i], s1[j]);
                swap(s2[i], s2[j]);
                swap(s3[i], s3[j]);
                swap(s4[i], s4[j]);
                swap(s5[i], s5[j]);
            }
            else if (lName[i] == lName[j])
            {
                if (year[i] < year[j])
                {
                    swap(fName[i], fName[j]);
                    swap(lName[i], lName[j]);
                    swap(tName[i], tName[j]);
                    swap(year[i], year[j]);
                    swap(s1[i], s1[j]);
                    swap(s2[i], s2[j]);
                    swap(s3[i], s3[j]);
                    swap(s4[i], s4[j]);
                    swap(s5[i], s5[j]);
                }
            }
        }
    }
 
    for (int i=0; i<n; i++)
    {
        cout << lName[i] << fName[i] << tName[i] << year[i] << s1[i] << s2[i] << s3[i] << s4[i] << s5[i] << endl;
    }
}
Yandex
Объявления
23.03.2012, 21:29     C++, переписать данные из файла в файл, отсортировав по фамилии и убыванию года рождения
Ответ Создать тему
Опции темы

Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru