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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный динамический массив (Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы) http://www.cyberforum.ru/cpp-beginners/thread805843.html
Подскажите, что делаю не так. Задание такое: Дана матрица A(n,m). Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы. Вот, вроде бы все написано, а ошибки (возможно глупой) найти не могу. #include "stdafx.h" #include <iostream> #include <iomanip> #include <math.h> #include <time.h> using namespace std;
C++ C++ и flash Добрый день! Есть небольшой flash файл,со скриптом. Нужно что бы С++ взаимодействовал со flash,а flash с С++. Для этого,как я понял,нужно отдельно регистрировать свой класс для UI событий и функций,которые будут отвечать за двухсторонний обмен информацией. И вот тут уже вопрос:как регистрировать это все? p.s.Способные помочь не словам,а делом могут написать в ЛС http://www.cyberforum.ru/cpp-beginners/thread805842.html
C++ Удаление элемента в динимическом массиве
Есть динамический массив, нужно удалить с него элемент, и сразу же уменьшить размерность массива на 1. Помогите это реализовать. Заранее спасибо.
Найдите ошибки! C++
Вот мой код создания экрана на OpenGL GLUT. #if !defined(WIN32) #define APIENTRY #define CALLBACK #endif #ifdef __APPLE__ #include <GLUT/glut.h> #else
C++ Секундомер на С++ http://www.cyberforum.ru/cpp-beginners/thread805780.html
Добрый день. Подскажите, как написать простейший консольный секундомер на с++ без использования сторонних библиотек. Нужно, чтобы при вызове функции начинался отсчет времени (и отображался в консоли) и при нажатии на определенную кнопку он завершался, а время присваивалось переменной
C++ как создать передаточную функцию звена, чтобы ей можно дальше пользоваться?(заменить элемент p, умножить. и т д)? (5*p + 2)/(p^2+9*p+1) подробнее

Показать сообщение отдельно
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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru