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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lese4ka
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 6
#1

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

23.03.2012, 20:50. Просмотров 1053. Ответов 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 минут
*******
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 20:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос C++, переписать данные из файла в файл, отсортировав по фамилии и убыванию года рождения (C++):

Переписать данные файла input.txt в файл output, отсортировав их по возрастанию средней оценки методом выбора - C++
В файле input.txt содержатся сведения о группе студентов в формате: номер группы; запись о каждом студенте группы содержит следующие...

В файле input.txt содержатся сведения о группе студентов. переписать данные файла в файл output.txt, отсортировав их по возрастанию - C++
Добрый вечер!!! Я - новичок по работе с С++, помогите, пожалуйста, написать программу на этом языке. В файле input.txt содержатся сведения...

Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии - C++
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не...

Переписать данные файла input.txt в output.txt, отсортировав их - C++
Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате: 1.номер группы; 2. запись о каждом...

Переписать данные файла input.txt в output.txt, отсортировав их - C++
Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате: номер группы; запись о каждом студенты...

Отсортировать список в алфавитном порядке по фамилии, а затем по возрастанию года рождения - C++
В текстовом файле содержатся записи о студентах. Для каждого студента известны его фамилия, имя, отчество, год рождения, оценки по пяти...

1
jambas92
58 / 57 / 3
Регистрация: 18.11.2010
Сообщений: 315
23.03.2012, 21:29 #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;
    }
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2012, 21:29
Привет! Вот еще темы с ответами:

Работа с файлами. Вывести список группы по убыванию года рождения студента - C++
Даны сведения о студентах группы:ФИО студента, дата рождения студента, место рождения студента. Вывести список группы по убыванию года...

Переписать с первого файла данные во второй файл, но по критериям - C++
Здравствуйте ещё раз. Помогите, пожалуйста, с самым сложным. Я написал в файл текст с цифрами. Например: My name is Peter. I`am 15 years...

В другой файл добавить фамилии и имена из файла по строкам, вывести время года рождения и количество лет - Pascal ABC
Здравствуйте! Такая задачка: Есть файл 12345.txt. В нём данные: Иванов Вася 25.07.1988 Петров Петя 12.02.1985 Сидоров Гриша...

Распечатайте анкетные данные студентов упорядоченный по убыванию года рождения - Turbo Pascal
Распечатайте анкетные данные студентов упорядоченный по убыванию года рождения.


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

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

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