Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код c++ для задачи

Влад Денисов Ученик (107), открыт 3 недели назад
void BestGrade(const Student students[], int studentCount) {
if (studentCount == 0) {
cout << "Нет данных о студентах.\n";
return;
}

// Создаем массивы для каждого курса (с 1 по 6)
int sumGrades[6] = {0}; // Сумма всех оценок на курсе
int totalGrades[6] = {0}; // Общее количество оценок на курсе

// Собираем данные по каждому курсу
for (int i = 0; i < studentCount; ++i) {
int course = students[i].course;
if (course >= 1 && course <= 6) {
for (int j = 0; j < 4; ++j) {
sumGrades[course - 1] += students[i].grades[j];
totalGrades[course - 1]++;
}
}
}

// Находим курс с максимальным средним баллом
int bestCourse = 0;
double maxAverage = -1.0;

cout << "\nСредние баллы по курсам:\n";
for (int i = 0; i < 6; ++i) {
if (totalGrades[i] > 0) {
double average = static_cast<double>(sumGrades[i]) / totalGrades[i];
cout << "Курс " << (i + 1) << ": " << fixed << setprecision(2) << average << endl;

if (average > maxAverage) {
maxAverage = average;
bestCourse = i + 1;
}
}
}

if (bestCourse > 0) {
cout << "\nКурс с максимальным средним баллом: " << bestCourse
<< "\nМаксимальный средний балл: " << fixed << setprecision(2)
<< maxAverage << endl;
} else {
cout << "Не удалось определить курс с максимальным средним баллом." << endl;
}
}
0 ответов
Похожие вопросы