Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.09.2021
Сообщений: 5
1

задача: неделя бонусов

23.10.2022, 18:39. Показов 399. Ответов 4

Author24 — интернет-сервис помощи студентам
В конце полугодия преподаватель решил устроить студентам неделю бонусов. Всем, кто полностью отчитался за работы он самую наименьшую оценку заменит на средний бал из всех полученых оценок. Написать программу, в которой при наличии оценок больше 0 наименьшая заменяется средним баллом, а если есть хотя бы одна оценка 0, то выводится текст "не отчитался за полугодие".
Вводные данные:
вводится n количество студентов 2<=n<=10
в след строке вводится первая цифра - количество оценок, затем оценки через пробел

Пример:
Ввод
3
6 5 8 7 4 9 9
4 10 8 9 9
5 4 0 2 0 5

Результат
5 8 7 7 9 9
10 9 9 9
"не отчитался за полугодие"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2022, 18:39
Ответы с готовыми решениями:

Начисление бонусов
Здравствуйте. Наставьте на путь истинный пожалуйста. Существует база sql, а также программа для...

Реализация бонусов
Всем привет. В игре нужно реализовать бонусы, воздействующие на разные классы и объекты. На данный...

Скрипт wmr бонусов+
Кто-нить может подсказать где можно скачать, или как написать скрипт для раздачи wmr бонусов?!...

Расчет суммы бонусов
покупатель получает бонусные баллы в зависимости от размера покупки и того, как часто он покупает....

Сбор бонусов wmr
Как выглядит код если я запрошу копейку от сюда http://freewmbonuses.narod.ru/bonuses_wmr.html...

4
758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
24.10.2022, 11:36 2
Непонятно, почему у одного 7 оценок, а у других 5, 6 оценок? И почему в результате на 1 оценку меньше, также у 2 второго студента средний балл 8? По логике должно быть 8 10 8 9 9.
0
0 / 0 / 0
Регистрация: 29.09.2021
Сообщений: 5
24.10.2022, 12:21  [ТС] 3
в след строке вводится первая цифра - количество оценок, их сумма, затем оценки через пробел
следовательно в 1ой строке - 6 - это количество оценок, а сами оценки: 5 8 7 4 9 9
у каждого разное количество оценок, так как разные были занятия, в этом и суть: у каждого разное количество.
А в результате выдаются только оценки, их число (сумма) не указывается
0
758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
24.10.2022, 13:39 4
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
#include <iostream>
int main()
{
    int size;
    std::cin >> size;
    int** stud = new int* [size];
    for (int i = 0; i < size; i++)
    {
        int col;
        std::cin >> col;
        stud[i] = new int[col + 3];
        stud[i][0] = col;//количество оценок
        stud[i][1] = 1;//допущен
        stud[i][2] = 0;//среднее
        int num = 1000;
        int* min = &num;
        for (int j = 3; j < col+3; j++)
        {
            std::cin >> stud[i][j];
            if(stud[i][j] < *min)
            {
                *min = stud[i][j];
            }
            if(stud[i][j] == 0) stud[i][1] = 0;
            stud[i][2] +=stud[i][j];
        }
        stud[i][2] = double(stud[i][2])/col + 0.5;
        num = *min;
        if(stud[i][1])
        for (int j = 3; j < col+3; j++)
        {
            //std::cout << stud[i][j] << " num" << num << "\n";
            if(stud[i][j] == num)
            {
                stud[i][j] = stud[i][2];
            }
        }
        //std::cout << "sred " << stud[i][2] << "\n";
    }
    for (int i = 0; i < size; i++)
    {
        if(stud[i][1])
        for (int j = 3; j < stud[i][0]+3; j++)
        {
            std::cout << stud[i][j] << " ";
        }
        else
        std::cout <<"не отчитался за полугодие";
        std::cout << "\n";
    }
    //Удаление матрицы сделайте сами.
}
0
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
24.10.2022, 13:59 5
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
 
int main()
{
    int n {};
    std::cin >> n;
 
    std::vector<std::vector<int>> vec(n, std::vector<int>());
    for(auto& v : vec)
    {
        int x {};
        std::cin >> x;
        for(size_t i { 0 }; i < x; ++i)
            std::cin >> v.emplace_back();
    }
 
    for(auto& v : vec)
    {
        auto min { std::min_element(v.begin(), v.end()) };
        if(*min > 0)
        {
            *min = std::reduce(v.begin(), v.end()) / v.size();
            for(auto x : v)
                std::cout << x << " ";
        } else {
            std::cout << "NO";
        }
        std::cout << "\n";
    }
 
    return 0;
}
0
24.10.2022, 13:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2022, 13:59
Помогаю со студенческими работами здесь

Раздача бонусов на сайте
дравствуйте. Вот мой сайт. Раньше раздавал бонусы нормально. теперь ошибка выходит Указанный...

Сборщик WebMoney бонусов
Существует ли рабочий сборщик бонусов? Раньше пользовался FreeWM, который реально работал и около...

Как организовать UI бонусов?
Хочу сделать чтоб при подборе бонуса в канвас появлялся спрайт и по Fill Amount медленно доходил до...

Начисление бонусов (операторы if)
using System; /* * Условие задачи * если сумма покупки равна 1-999 начисление бонуксов 2%...

запрос о количестве бонусов в колонке
подскажите пожалуйста запрос в базу о состоянии счета столбец bonuses в realmd&gt;account с указанием...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru