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

задачка на сортировку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Какие самые крутые западные форумы про с++ ? http://www.cyberforum.ru/cpp-beginners/thread597842.html
Какие самые крутые западные форумы про с++ ?
C++ Вычислите сумму квадратов всех элементов заданного массива A[N], за исключением элементов, кратных пяти. Вычислите сумму квадратов всех элементов заданного массива A, за исключением элементов, кратных пяти. http://www.cyberforum.ru/cpp-beginners/thread597836.html
капча C++
имеется сервис для рассылки смс как можно распознать капчу она там числовая 3х символьная http://sms.wapscriptphp.com/index.php
Вводится строка каждое слово которой отделяется от других слов одним или несколькими пробелами. C++
Вводится строка каждое слово которой отделяется от других слов одним или несколькими пробелами. Найти количество слов состоящих из пяти символов
C++ двумерный динамический массив http://www.cyberforum.ru/cpp-beginners/thread597821.html
Задан двумерный динамический массив, найти все элементы больше за среднее арифметическое в каждой строке и удалить их. Добавлено через 58 минут вот что я сделал.. только я сомневаюсь что это правильно(( помогите с кодом.. #include <iostream> #include <conio.h> using namespace std;
C++ Найти и вывести на печать слова, у которых первая буква входит в слово ещё раз Ребята, помогите пожалуйста! Завтра нужно сдавать лабу для допуска к экзамену, а я никак не могу её сделать... Задание: в произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов, найти и вывести на печать слова, у которых первая буква входит в слово ещё раз. Вывести полученный текст на экран и информацию для каждой строки, сколько слов не вошло... подробнее

Показать сообщение отдельно
Taiger
0 / 0 / 0
Регистрация: 05.06.2012
Сообщений: 41
06.06.2012, 13:48  [ТС]     задачка на сортировку
Задание: (с обязательным применением функций). Исходные данные или результат или и то и другое должно размещаться в текстовом файле.

Отсортировать список работающих по убыванию возраста, для одинакового возраста отсортировать по возрастанию табельного номера.

пример подобного
Из файла, где хранятся данные о студентах (фамилия, имя, отчество, группа, номер студенческого билета, оценки за семестр) вывести на экран номера студенческих билетов и их владельцев, имеющих средний балл за семестр не ниже 4,5.

Ход работы:
Листинг программы:
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <iomanip>
 
using namespace std;
 
struct studData {
    int por_numb;
    char lastname[15];
    char name [15];
    char middlename [15];
    char group[5];
    int stud_numb;
    int oc[10];
};
 
    fstream outStud,st;
    studData stud;
    double sr;
    double sr1=4.5,kol=10.0,sum=0;
 
void load_file (void);
void vivod_file (void);
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    outStud.open ("D:\\stud1.txt",ios::in);
    
    vivod_file();
    outStud.close();
    outStud.open ("D:\\stud1.txt",ios::in);
    st.open ("D:\\stud2.txt",ios::out);
 
    load_file();
 
    st.close();
    outStud.close();
    getchar ();
    return 0;
}
 
void load_file (void)
{
 
    cout << endl << "Result: " <<endl <<endl;
    for (;;)
    {
        outStud >> setiosflags (ios::left) >>setw(3) >> stud.por_numb;
 
        if (outStud.eof()) break;
 
        outStud >>setiosflags (ios::left) >>setw (15) >> stud.lastname >> setw (15) >> stud.name
        >> setw (15) >> stud.middlename >> setw (5) >> stud.group >>setw (5) >> stud.stud_numb;
 
        for (int i=1; i<=10; i++)
        {
        outStud >> setiosflags (ios::left) >> setw(2) >> stud.oc[i];
        sum=sum+stud.oc[i];
        }
 
        sr=sum/kol;
        if (sr>=sr1)
        {
            st<<setiosflags (ios::left) <<setw(3) <<stud.por_numb <<setw (15) << stud.lastname <<setw (15) << stud.name
            <<setw (15) << stud.middlename <<setw (5) << stud.group <<setw (5) << stud.stud_numb;
 
            for (int i=1; i<=10; i++)
            {
            st <<setiosflags (ios::left) << setw(2) << stud.oc[i];
            }
 
            st << endl;
 
            cout << setiosflags (ios::left) <<setw(3) <<stud.por_numb <<setw (10) << stud.lastname <<setw (8) << stud.name
            <<setw (12) << stud.middlename <<setw (5) << stud.group <<setw (5) << stud.stud_numb;
 
            for (int i=1; i<=10; i++)
            {
            cout << setiosflags (ios::left) << setw(2) << stud.oc[i];
            }
            cout <<" sredniy bal= " <<sr<<endl;
        }
                cout <<endl; sum=0; sr=0;
    }
}
 
void vivod_file (void)
{
        cout << "Nachalniy file:" <<endl;
    for (;;)
    {
        outStud >> setiosflags (ios::left) >>setw(3) >> stud.por_numb;
        if (outStud.eof()) break;
        outStud >>setiosflags (ios::left) >>setw (15) >> stud.lastname >> setw (15) >> stud.name
        >> setw (15) >> stud.middlename >> setw (5) >> stud.group >>setw (5) >> stud.stud_numb;
        
        cout << setiosflags (ios::left) <<setw(3) <<stud.por_numb <<setw (10) << stud.lastname <<setw (8) << stud.name
        <<setw (12) << stud.middlename <<setw (5) << stud.group <<setw (5) << stud.stud_numb;
        
        for (int i=1; i<=10; i++)
        {
        outStud >> setiosflags (ios::left) >> setw(2) >> stud.oc[i];
        cout << setiosflags (ios::left) <<setw (2) <<stud.oc[i];
        }
        cout <<endl;
    }
}
 
Текущее время: 17:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru