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

Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как найти позицию вхождения строки? http://www.cyberforum.ru/cpp-beginners/thread805723.html
Помогите, пожалуйста, с задачей: Нужно ввести с клавиатуры строку длиной не более 200 символов, ещё одну не более 10 символов и номер позиции, начиная с которой ищет первую позицию вхождения второй строки в первую и выводит эту позицию результат пользователю.
C++ MinGW mysql Здравствуйте, объясните пожалуйста как заставить компилятор g++ работать с функциями mysql, нужен пример компиляции у меня ничего не получается. Выдаёт ошибку: C:\DOCUME~1\BBDA~1.SER\LOCALS~1\Temp\cclq9wyo.o:index.cpp:(.text.startup+0x27): undefined reference to `mysql_get_client_info@0' collect2: тvяюыэхэшх ld чртхЁ°шыюё№ ё ъюфюь тючтЁрЄр 1 Как подключить libmysql.a? http://www.cyberforum.ru/cpp-beginners/thread805716.html
классы и подклассы C++
class Jewelry //Создаем класс { public: unsigned int Weight; char RawMateriale; unsigned int Sample; unsigned int Price; unsigned int Article; };
системная ошибка BLOCK_TYPE_VALID C++
программа создает базовый класс "Дерево" + 2 производных класса - лесное дерево и плодовое дерево. Вне зависимости от мейна выскакивает системная ошибка head.h #ifndef _TREEE_ #define _TREEE_ #include <iostream> #include <cmath> using namespace std; enum Type {list, hvoy}; class Tree{ protected:
C++ Из файла .txt записать в этот массив символы, так же как они записаны в файле http://www.cyberforum.ru/cpp-beginners/thread805669.html
Данн массив слов. Нужно из файла .txt записать в этот массив символы, так же как они записаны в файле Пример файла: abc def #include <iostream> #include <fstream>
C++ Обработка записей Здравствуйте, помогите пожалуйста доделать программу.Задание : Вводится ФИО и дата рождения. Необходимо отсортировать по возрасту. Проблема в том что сортирует только по годам,если одинаковый год , то не сортирует по месяцам, и по дням если месяцы одинаковы соответственно. Возможно не корректно написал. #include <iostream> #include <stdio.h> using namespace std; struct student {char fio ; ... подробнее

Показать сообщение отдельно
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
11.03.2013, 18:07     Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

Задание 1 Сортировка 1
В файле input.txt содержатся сведения о группе студентов в формате:
номер группы;
запись о каждом студенте группы содержит следующие сведения: фамилия, имя, отчество, год рождения, оценки по пяти предметам.
Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии
методом выбора.
input
Код
Колинин Вячеслав Васильевич
1990
3 5 4 5 5
Калинин Вячеслав Васильевич
1990
3 5 4 5 5
Когинин Вячеслав Васильевич
1990
3 5 4 5 5
Авдеев Виктор Васильевич
1991
3 5 3 4 4
Голубцова Валерия Алексеевна
1989
5 5 4 5 4
Барсуков Владимир Сергеевич
1991
3 4 4 3 5 
Веденеев Николай Денисович
1993
5 4 5 4 3
Код программы:
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
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
struct Student //структура студент
{
    string Name, Marks, Date;
};
 
int DateToInt(string Str) //функция для перевода даты рождения из строки в число
{
    stringstream stream(Str); //загоняем в стингстрим
    int date; //числовое представление даты
    stream >> date; //получаем в числовом виде
    return date; //возвращаем дату в числовом виде
}
 
int main()
{
    setlocale(LC_ALL, "Russian"); //включаем кириллицу
    Student arr[10]; //массив структур
    int n = 0; //счетчик количества структур в файле
    ifstream fin("input.txt"); //файл
    if(fin.is_open())//если октрыт
        while(!fin.eof())//пока нет конца файла
        {
            getline(fin, arr[n].Name); //считываем ФИО
            fin.sync();//синхронизируем поток (убираем из него мусор)
            getline(fin, arr[n].Date); //считываем дату
            fin.sync();
            getline(fin, arr[n].Marks); //считываем оценки
            fin.sync();
            n++; //увеличиваем счетчик
        }
    fin.close(); //закрыли входной файл
    for(int i = 0; i < n - 1; i++) //внешний цикл сортировки по ФИО  (методом выбора)
        for(int j = i + 1; j < n; j++) //внутренний цикл сортировки по ФИО
            if(arr[i].Name > arr[j].Name) //если 1 буква 1 структуры больше за 1 букву следующей структуры
            {
                Student tmp; //меняем местами структуры через дополнительную переменную
                tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
    ofstream fout("output.txt");    // выходной файл
    for(int i = 0; i < n; i++) //цикл
    {
        fout<<arr[i].Name<<endl<<arr[i].Date<<endl<<arr[i].Marks<<endl; //записываем данные в файл
        cout<<arr[i].Name<<endl<<arr[i].Date<<endl<<arr[i].Marks<<endl;
    }
    fout.close();   //закрыли выходной файл
    
    system("pause");
    return 0;
}
output
Код
Авдеев Виктор Васильевич
1991
3 5 3 4 4
Барсуков Владимир Сергеевич
1991
3 4 4 3 5 
Веденеев Николай Денисович
1993
5 4 5 4 3
Голубцова Валерия Алексеевна
1989
5 5 4 5 4
Калинин Вячеслав Васильевич
1990
3 5 4 5 5
Когинин Вячеслав Васильевич
1990
3 5 4 5 5
Колинин Вячеслав Васильевич
1990
3 5 4 5 5
 Комментарий модератора 
Первым делом, зайдя на форум, нужно читать правила, а не постить темы.
Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru