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

Создать массив записей

22.11.2018, 09:45. Показов 1445. Ответов 1

Студворк — интернет-сервис помощи студентам
Создать массив из n записей n<=10), содержащих следующую информацию: фамилия студента, группа и оценка за экзамен. Упорядочить записи по алфавиту.Вывести исходный и упорядоченный массивы. Определить сколько отличников в группе( по запросу). Если такой группы нет ( или в группе нет отличников ), вывести соответствующие сообщение.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2018, 09:45
Ответы с готовыми решениями:

Создать массив записей
Создать массив записей A(n),n&lt;=20, каждая запись содержит сведения о книгах: автор, название и год...

Создать массив записей размером N с информацией о студенте
Создать массив записей размером N с информацией о студенте: ФИО (string), Пол (char), год рождения...

Создать массив из N записей, упорядочить его по значению одного из полей
Создать массив из N записей, содержащих следующую информацию: наименование процесса, его номер и...

Создать массив из 5 записей с полями наименование товара, цена и сохранить его в файле
создать массив из 5 записей с полями наименование товара, цена) сохранить в файле. вывести...

1
1346 / 847 / 363
Регистрация: 26.02.2015
Сообщений: 3,773
22.11.2018, 10:54 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
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
 
class Record {
 
public:
    Record();
    Record(const std::string &, const std::string &, double);
 
    std::string getStudent() const;
    std::string getGroup() const;
    double getMark() const;
 
    static bool compByName(const Record &, const Record &);
    static bool compByGroup(const Record &, const Record &);
    static bool compByMark(const Record &, const Record &);
 
    friend std::ostream& operator<<(std::ostream &, const Record &);
    friend std::istream& operator>>(std::istream &, Record &);
 
private:
    std::string m_student;
    std::string m_group;
    double m_mark;
 
};
 
Record::Record()
    : m_student(), m_group(), m_mark(0.0) { }
 
Record::Record(const std::string &student, const std::string &group, double mark)
    : m_student(student), m_group(group), m_mark(mark) { }
 
std::string Record::getStudent() const {
 
    return m_student;
 
}
 
std::string Record::getGroup() const {
 
    return m_group;
 
}
 
double Record::getMark() const {
 
    return m_mark;
 
}
 
bool Record::compByName(const Record &a, const Record &b) {
 
    return a.m_student < b.m_student;
 
}
 
bool Record::compByGroup(const Record &a, const Record &b) {
 
    return a.m_group < b.m_group;
 
}
 
bool Record::compByMark(const Record &a, const Record &b) {
 
    return a.m_mark < b.m_mark;
 
}
 
std::ostream& operator<<(std::ostream &os, const Record &record) {
 
    os << "Student: " << record.m_student << ", group: " << record.m_group
        << ". Mark: " << record.m_mark;
 
    return os;
 
}
 
std::istream& operator>>(std::istream &is, Record &record) {
 
    is >> record.m_student >> record.m_group >> record.m_mark;
 
    return is;
 
}
 
int excellentsInGroup(const std::vector<Record> &array, const std::string &group) {
 
    int excellents = -1;
 
    for (const auto &el : array) {
 
        if (el.getGroup() == group && el.getMark() == 5.0)
            ++excellents;
 
    }
 
    if (excellents != -1) ++excellents;
 
    return excellents;
 
}
 
int main() {
 
    std::size_t size = 0;
 
    std::cout << "Please, enter the number of records: ";
    std::cin >> size;
 
    std::vector<Record> array(size);
 
    for (std::size_t i = 0; i < size; ++i) {
 
        std::cout << i + 1 << ". Please, enter student, group and mark: ";
        std::cin >> array[i];
    
    }
 
    //Print
    for (const auto &el : array) {
 
        std::cout << el << '\n';
 
    }
 
    std::cout << "\n\nSorting...\n\n";
 
    std::sort(array.begin(), array.end(), Record::compByName);
 
    for (const auto &el : array) {
 
        std::cout << el << '\n';
 
    }
 
 
    int excellents = excellentsInGroup(array, "AM-31");
 
    if (excellents == -1) {
 
        std::cout << "Error";
 
    } else {
 
        std::cout << "\nExcellent students: " << excellents << '\n';
 
    }   
 
    system("PAUSE");
    return 0;
 
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2018, 10:54
Помогаю со студенческими работами здесь

Структуры. Дан массив записей, содержащих дату и время. Упорядочить этот массив в порядке «возрастания»
Дан массив записей, содержащих дату (число, месяц, год) и время (час, минута, секунда). Упорядочить...

Создать файл записей
Наработки оставил в учебном заведении поэтому не могу скинуть наработки. Помогите с задачей...

Создать БД с использованием массива записей
Создать БД с использованием массива записей . В файле текстовом хранятся строки: номер наименование...

Файлы.Создать файл для записей
Создайте файл для записей: &lt;Номер договора&gt;&lt;Фамилия клиента&gt;&lt;стоимость товара&gt;&lt;выплаченная сумма&gt;...


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

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

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