
Вопрос задан 04.07.2023 в 19:57.
Предмет Информатика.
Спрашивает Сапожников Данила.
ОЧЕНЬ СРОЧНО!!!! На C++ Во многих видах спорта результат участника соревнований определяется по
баллам, выставляемым коллегией судей, следующим образом: из множества выставленных оценок убирают максимальную и минимальную оценку (по одной, если таковых несколько) и оставшиеся оценки затем суммируют. Напишите программу, автоматизирующую подсчёт баллов участников по описанному правилу. Формат ввода В первой строке входного файла записано два числа в указанном порядке: N – количество судей в судейской коллегии (3 ≤ N ≤ 100) и K – кол-во участников соревнований (1 ≤ K ≤ 100). В последующих K строках записано по N натуральных чисел (разделённых пробелами), не превосходящих 100 – оценки каждого из участников соревнований. Формат вывода В выходной файл требуется вывести K чисел, каждое на отдельной строке – итоговая оценка каждого из участников (в порядке, соответствующем порядку участников во входном файле).

Ответы на вопрос

Отвечает Черенков Максим.
Код:
- #include <fstream>
- #include <vector>
- #include <numeric>
- int main() {
- std::ifstream cin("input.txt");
- std::ofstream cout("output.txt");
- int N, K;
- cin >> N >> K;
- std::vector<int> buffer(N);
- for (int i = 0; i < K; ++i) {
- for (int j = 0; j < N; ++j) {
- cin >> buffer[j];
- }
- // Зануляем найденные min и max
- *(std::min_element(buffer.begin(), buffer.end())) = 0;
- *(std::max_element(buffer.begin(), buffer.end())) = 0;
- // Суммируем
- cout << std::accumulate(buffer.begin(), buffer.end(), 0) << "\n";
- }
- return 0;
- }



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Привет! Вот пример программы на C++, которая решает задачу подсчёта баллов участников по описанным правилам:
cpp#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
for (int i = 0; i < K; i++) {
vector<int> scores(N);
for (int j = 0; j < N; j++) {
cin >> scores[j];
}
// Находим минимальную и максимальную оценки
int min_score = *min_element(scores.begin(), scores.end());
int max_score = *max_element(scores.begin(), scores.end());
// Суммируем оставшиеся оценки
int total_score = 0;
for (int j = 0; j < N; j++) {
if (scores[j] != min_score && scores[j] != max_score) {
total_score += scores[j];
}
}
cout << total_score << endl;
}
return 0;
}
Эта программа считывает из входного потока количество судей N
и количество участников K
. Затем она в цикле для каждого участника считывает N
оценок, находит минимальную и максимальную оценки, суммирует оставшиеся оценки и выводит итоговую оценку на экран.
Надеюсь, это поможет! Если у тебя есть ещё вопросы, не стесняйся спрашивать.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili