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

Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков - C++

Восстановить пароль Регистрация
 
marco_33
2 / 2 / 0
Регистрация: 07.11.2012
Сообщений: 12
07.11.2012, 23:37     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков #1
В ведомости хранится информация о пропусках студентов: Ф.И.О., факультет, группа, кол-во пропусков. Вывести список из 10 студентов с наибольшим количеством пропусков.
С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2012, 23:37     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков
Посмотрите здесь:

C++ В единственную строку вывести подстроку с наибольшим количеством букв, встречающихся один раз
Программа выводит неверный ответ (дан массив структур, содержащий сведения об успеваемости студентов - вывести список неуспевающих студентов) C++
C++ Создание структуры Список студентов
Структуры. Составить список студентов в произвольной последовательности, а вывести на экран по группам C++
C++ Вывести на экран слово с наибольшим количеством гласных букв
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
08.11.2012, 00:42     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков #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
#include <vector>
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <iostream>
#include <algorithm>
 
using namespace std;
 
struct Record {
    Record(string n, string s, string l, unsigned f,
           unsigned g, unsigned sk):
        name(n), sname(s), lname(l), faculty(f), group(g),
        skips(sk) {}
    string name;
    string sname;
    string lname;
    unsigned faculty;
    unsigned group;
    unsigned skips;
    friend ostream& operator <<(ostream& os, const Record& rhs) {
        return os << rhs.name << " " << rhs.sname << " "
                  << rhs.lname << "факультет №" << rhs.faculty
                  << "группа №" << rhs.group << " пропусков: " << rhs.skips;
    }
};
 
class RecGen {
public:
    Record operator ()() {
        unsigned fac = (1+rand()%7);
        return Record("Ололоев", "Ефим", "Андреевич",
                      fac, (fac*10+rand()%10), rand()%25);
    }
};
 
class SkipsCompare {
public:
    bool operator ()(const Record& lhs, const Record& rhs) const {
        return lhs.skips > rhs.skips;
    }
};
 
int main() {
    srand(time(0));
    setlocale(LC_ALL, "rus");
    vector<Record> sheet;
    generate_n(back_inserter(sheet), 40, RecGen());
    sort(sheet.begin(), sheet.end(), SkipsCompare());
    copy(sheet.begin(), sheet.begin() + 10,
         ostream_iterator<Record>(cout, "\n"));
    return 0;
}
marco_33
2 / 2 / 0
Регистрация: 07.11.2012
Сообщений: 12
08.11.2012, 01:02  [ТС]     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков #3
спасибо
эх, классный код да не запускается почему-то)
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
08.11.2012, 01:06     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков #4
Цитата Сообщение от marco_33 Посмотреть сообщение
эх, классный код да не запускается почему-то)
Обычно в таких случаях пишут не "Эх", а приводят список ошибок.
mad_svyat
17 / 17 / 0
Регистрация: 10.01.2012
Сообщений: 34
08.11.2012, 01:16     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков #5
Что за компилятор?
Все работает :
http://liveworkspace.org/code/63d7c5...75273595ce725a
в функции
C++
1
operator <<()
пробел бы добавить после вывода отчества.
Миниатюры
Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.11.2012, 01:42     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков #6
Добавить:
C++
1
#include <string>
Yandex
Объявления
08.11.2012, 01:42     Структуры: Вывести список из 10 студентов с наибольшим количеством пропусков
Ответ Создать тему
Опции темы

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