0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 4
1

За один просмотр файла вывести за алфавитом абитуриентов, которые набрали наименьшее количество баллов

19.06.2017, 14:25. Показов 1029. Ответов 3
Метки нет (Все метки)

Собственно само задание: Создать файл записей с полями:Фамилия абитуриента, оценки за вступительные экзамены. За один просмотр файла вывести за алфавитом абитуриентов, которые набрали наименьшее количество баллов
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2017, 14:25
Ответы с готовыми решениями:

Вывести номера трех участников (номера строк двумерного массива), которые набрали наименьшее количество баллов
Задание 17. В текстовом файле создать матрицу размером 10x5, в которой находится информация о...

Определите и выведите на экран номера тех участников, которые набрали не менее 70 баллов
В соревновании принимают участие 30 спортсменов. Номера и результаты спортсменов хранятся в двух...

Известно, что никакие два участника не набрали одинаковое количество баллов. По информации о результатах первого тура по
Одна Очень Престижная Олимпиада, как и все престижные олимпиады в последнее время, состоит из двух...

Вывести список абитуриентов, отсортированный по сумме баллов, полученных на экзаменах
*Ввести и сохранить в файле данные следующей структуры:*ф.,и.,о. абитуриента, * средний балл...

3
1172 / 833 / 359
Регистрация: 26.02.2015
Сообщений: 3,743
19.06.2017, 21:53 2
Лучший ответ Сообщение было отмечено Wolfi7 как решение

Решение

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
#include <fstream>
#include <iostream>
#include <limits>
#include <map>
#include <string>
 
struct Student {
 
    std::string name;
    size_t mathematics;
    size_t computerScience;
    size_t biology;
 
    Student() : name{"N/A"}, mathematics{0}, computerScience{0}, biology{0} {
 
        //TODO
 
    }
 
    friend std::istream& operator>>(std::istream& stream, Student& student) {
 
        stream
            >> student.name
            >> student.mathematics
            >> student.computerScience
            >> student.biology;
 
        return stream;
 
    }
 
    double getAvgMark() {
 
        return (mathematics + computerScience + biology) / 3;
 
    }
 
};
 
int main() {
 
    std::ifstream file("students.txt");
 
    if (!file.is_open()) {
 
        std::cerr
            << "Can not to open file students.txt"
            << std::endl;
 
        return 1;
 
    }
 
    std::multimap<double, Student> students{};
    Student student{};
 
    size_t minMark{std::numeric_limits<size_t>::max()};
 
    while (file >> student) {
 
        size_t currentAvgMark = student.getAvgMark();
 
        if (minMark > currentAvgMark) {
 
            minMark = currentAvgMark;
 
        }
 
        students.insert(std::pair<double, Student>(currentAvgMark, student));
 
    }
 
    for (const std::pair<const double, Student>& student : students) {
 
        if (student.first == minMark) {
 
            std::cout
                << student.second.name
                << " averege mark: "
                << student.first
                << std::endl;
 
        }
 
    }
 
    return 0;
 
}
1
0 / 0 / 0
Регистрация: 19.06.2017
Сообщений: 4
20.06.2017, 12:36  [ТС] 3
Спасибо большое )

Добавлено через 12 часов 23 минуты
сказали, что тут надо добавить if и еще что-то. Можете посмотреть, что можно переделать ?
C++
1
2
3
4
5
6
7
        if (minMark > currentAvgMark) {
 
            minMark = currentAvgMark;
 
        }
 
        students.insert(std::pair<double, Student>(currentAvgMark, student));
0
1172 / 833 / 359
Регистрация: 26.02.2015
Сообщений: 3,743
21.06.2017, 19:21 4
Если честно, то я понятия не имею о чём речь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2017, 19:21
Помогаю со студенческими работами здесь

Вывести в другой файл данные учеников, которые получили в сумме больше 240 баллов (по убыванию баллов)
задача: В файле записаны данные о результатах сдачи экзаменов по математике, русскому языку и...

Записи. Файлы прямого доступа. Вывести абитуриентов, набравших меньше 12 баллов
Составить файл с именем ABITUR, состоящий из данных по сдаче экзаменов абитуриентами. Указать для...

За один просмотр файла и без использования дополнительных файлов вывести элементы файла f в указанном порядке
Если можете сделайте программу (сам пытался понять как делать но не получается +времени нет...

За один просмотр файла вывести сначала все числа, меньшие а
Товарищи, помогите написать программу. С меня вознаграждение в размере 100-150 рублей. Условие...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru