C/C++
Напишите программу на С++ на заданную задачу
Проверили сообразительность детей с помощью шести тестов. Имеются следующие данные: фамилия ребенка, оценка за каждый тест (от 0 до 5). Определить средний балл для каждого ребенка и общий средний балл. Определить наиболее часто встречающуюся оценку. Выполнить сортировку списка.
ChatGPT:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
struct Child {
std::string surname;
std::vector<int> scores;
};
// Функция для вычисления среднего балла
double calculateAverage(const std::vector<int>& scores) {
int sum = 0;
for (int score : scores) {
sum += score;
}
return static_cast<double>(sum) / scores.size();
}
int main() {
std::vector<Child> children;
// Ввод данных о детях и их оценках
int numChildren;
std::cout << "Введите количество детей: ";
std::cin >> numChildren;
for (int i = 0; i < numChildren; ++i) {
Child child;
std::cout << "Введите фамилию ребенка: ";
std::cin >> child.surname;
std::cout << "Введите оценки ребенка (от 0 до 5): ";
for (int j = 0; j < 6; ++j) {
int score;
std::cin >> score;
child.scores.push_back(score);
}
children.push_back(child);
}
// Вычисление среднего балла для каждого ребенка и общего среднего балла
double totalAverage = 0.0;
int totalNumScores = 0;
for (const Child& child : children) {
double average = calculateAverage(child.scores);
std::cout << "Средний балл для ребенка " << child.surname << ": " << average << std::endl;
totalAverage += average;
totalNumScores += child.scores.size();
}
totalAverage /= numChildren;
std::cout << "Общий средний балл: " << totalAverage << std::endl;
// Поиск наиболее часто встречающейся оценки
std::map<int, int> scoreFrequency;
for (const Child& child : children) {
for (int score : child.scores) {
scoreFrequency[score]++;
}
}
int mostFrequentScore = 0;
int maxFrequency = 0;
for (const auto& pair : scoreFrequency) {
if (pair.second > maxFrequency) {
mostFrequentScore = pair.first;
maxFrequency = pair.second;
}
}
std::cout << "Наиболее часто встречающаяся оценка: " << mostFrequentScore << std::endl;
// Сортировка списка детей по фамилии
std::sort(children.begin(), children.end(), [](const Child& a, const Child& b) {
return a.surname < b.surname;
});
// Вывод отсортированного списка детей
std::cout << "Список детей после сортировки:" << std::endl;
for (const Child& child : children) {
std::cout << child.surname << std::endl;
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
struct Child {
std::string surname;
std::vector<int> scores;
};
// Функция для вычисления среднего балла
double calculateAverage(const std::vector<int>& scores) {
int sum = 0;
for (int score : scores) {
sum += score;
}
return static_cast<double>(sum) / scores.size();
}
int main() {
std::vector<Child> children;
// Ввод данных о детях и их оценках
int numChildren;
std::cout << "Введите количество детей: ";
std::cin >> numChildren;
for (int i = 0; i < numChildren; ++i) {
Child child;
std::cout << "Введите фамилию ребенка: ";
std::cin >> child.surname;
std::cout << "Введите оценки ребенка (от 0 до 5): ";
for (int j = 0; j < 6; ++j) {
int score;
std::cin >> score;
child.scores.push_back(score);
}
children.push_back(child);
}
// Вычисление среднего балла для каждого ребенка и общего среднего балла
double totalAverage = 0.0;
int totalNumScores = 0;
for (const Child& child : children) {
double average = calculateAverage(child.scores);
std::cout << "Средний балл для ребенка " << child.surname << ": " << average << std::endl;
totalAverage += average;
totalNumScores += child.scores.size();
}
totalAverage /= numChildren;
std::cout << "Общий средний балл: " << totalAverage << std::endl;
// Поиск наиболее часто встречающейся оценки
std::map<int, int> scoreFrequency;
for (const Child& child : children) {
for (int score : child.scores) {
scoreFrequency[score]++;
}
}
int mostFrequentScore = 0;
int maxFrequency = 0;
for (const auto& pair : scoreFrequency) {
if (pair.second > maxFrequency) {
mostFrequentScore = pair.first;
maxFrequency = pair.second;
}
}
std::cout << "Наиболее часто встречающаяся оценка: " << mostFrequentScore << std::endl;
// Сортировка списка детей по фамилии
std::sort(children.begin(), children.end(), [](const Child& a, const Child& b) {
return a.surname < b.surname;
});
// Вывод отсортированного списка детей
std::cout << "Список детей после сортировки:" << std::endl;
for (const Child& child : children) {
std::cout << child.surname << std::endl;
}
return 0;
}
Сергей Панов
Спасибо!)
Волшебное слово забыл.
Похожие вопросы
- Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде
- Написать программу на С++ определения площади пятиугольника с заданными координатами его вершин.
- Составьте алгоритм и напишите программу вычисления суммы n членов ряда согласно условию задачи
- Написать программу на языке Си, которая решит эту задачу:
- Помогите, пожалуйста, написать программу по нижеописанной задаче!
- Написать программу на языке Си
- Написать программы на СИ
- С++ Помогите с задачей, как написать программу без массивов?
- Помогите понять суть задания на C++, написать программу с такой задачей:
- Задача на с++. Нужно составить алгоритм и написать программу