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

В группе 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");
}

Ответы (0 шт):