Как определить средний балл экзамена?

296
16 июля 2022, 01:40

В группе 30 студентов, каждый из которых успешно сдал экзаменационную сессию, в которую входило 3 экзамена (заданные в виде двухмерного массива; генерируется случайным образом в пределах от 0 до 5). Определить: а) средний балл каждого экзамена; б) количество студентов, сдали все экзамен на "хорошо" и "отлично"; в) сколько студентов получат стипендию, если условием ее получения является превышение среднего балла студента по результатам сессии значение 4.0. Результаты вывести на экран.

#include <stdio.h>
#include <math.h>
#include <random>
#include <Windows.h>
using namespace std;
int random(int min, int max)
{
    random_device rd;
    mt19937 gen(rd());
    uniform_int_distribution<> dis(min, max);
    return dis(gen);
}
void fill_array(int p[30][3])
{
    for (int i = 0; i < 30; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            p[i][j] = random(0, 5);
        }
    }
}
void get_array(int p[30][3])
{
    for (int i = 0; i < 30; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            printf("%d ", p[i][j]);
        }
        printf("\n");
    }
    printf("\n");
}
void count_array(int p[30][3])
{
    int mark_count = 0;
    double ser_student = 0;
    int good_mark = 0;
    int perfect_mark = 0;
    int stytendia_count = 0;
    for (int i = 0; i < 30; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            mark_count += p[i][j];
        }
        ser_student = mark_count / 3.0;
        if (ser_student >= 4)
        {
            good_mark++;
        }
        else if (ser_student == 5)
        {
            perfect_mark++;
        }
        if (ser_student >= 4)
        {
            stytendia_count++;
        }
        printf("Середній бал студента під номером %i дорівнює: %lf \n", i + 1, ser_student);
        mark_count = 0;
        ser_student = 0;
    }
    printf("Кількість студентів, які склали іспит на \"добре\": %d \n", good_mark);
    printf("Кількість студентів, які склали іспит на \"відмінно\": %d \n", perfect_mark);
    printf("Кількість студентів, які отримають стипедію: %d \n", stytendia_count);
}
int main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    int arr[30][3];
    fill_array(arr);
    get_array(arr);
    count_array(arr);
    system("pause");
}
READ ALSO
Реализация имеющегося алгоритма на С++

Реализация имеющегося алгоритма на С++

Всем добрый день! Вопрос не из легких, но вдруг кто-то из присутствующих здесь когда-либо сталкивался с этой задачейНеобходимо реализовать...

357
How can I get keys set from map or unordered_map in c++? [закрыт]

How can I get keys set from map or unordered_map in c++? [закрыт]

Вопрос закрыт, так как на Stack Overflow на русском вопросы принято задавать только на русском языкеПожалуйста, переведите ваш вопрос на русский...

294
Как получить HWND окна в котором рисует OpenGL?

Как получить HWND окна в котором рисует OpenGL?

Мне нужно получить HWND или ID потока окна текущего процесса (не моего, я делаю DLL инъекцию) в котором OpenGL производит отрисовку чтобы установить...

334
C++ Builder. Редактирование свойств формы

C++ Builder. Редактирование свойств формы

Всем доброго дня! Работаю в C++ builder 10 и создаю пустую форму, которая по-умолчанию наследуется от класса TFormСтолкнулся с проблемой, корень которой...

276