Среднее арифметическое данных массива (который элемент структуры динамического массива)

229
06 июня 2022, 19:00

Имеется следующая проблема. Есть функция для расчета среднего балла (индивидуальных и общего). Данные должны браться из внешнего массива. Однако, как я понял при пошаговой прогонке, они не берутся, и переменная остается со стандартным значением, выдаваемым при объявлении без инициализации. Значения в первую структуру вводятся с клавиатуры, чтобы не захламлять этот кусок кода включать не стал.

#include <iostream>
#include <string>
#include <Windows.h>
#include <utility>
#include <algorithm>
struct STUDENT
{
    std::string Name;
    short Year;
    int Rating[5];
};
struct StudAver
{
    double Average;
};
void sortRat(STUDENT* STUD, int numOfStud)
{
    StudAver* StAv = new StudAver[(sizeof(STUD->Rating) / sizeof(STUD->Rating[0]))];
        for (int j = 0; j < (sizeof(STUD->Rating) / sizeof(STUD->Rating[0])); ++j)
        {
            StAv[j].Average += STUD->Rating[j];
            StAv[j].Average /= (sizeof(STUD->Rating) / sizeof(STUD->Rating[0]));
            std::cout << StAv[j].Average;
        }
    double average = 0;
    for (int i = 0; i < numOfStud; ++i)
        average += StAv[i].Average;
    average /= (numOfStud);
    std::cout << "\nСписок студентов, чей балл превышает средний:\n";
    for (int k = 0; k < numOfStud; ++k)
    {
        if (StAv[k].Average > average)
            std::cout << STUD->Name << '\n';
    }
    delete[] StAv;
    StAv = nullptr;
}
int main()
{
sortRat(STUD->Rating, numOfStud);
}
READ ALSO
Можно ли double &quot;засунуть&quot; в bitset, чтобы он вывел его в 2виде?

Можно ли double "засунуть" в bitset, чтобы он вывел его в 2виде?

Можно ли double "засунуть" в bitset, чтобы он вывел его в 2виде?

276
Отображение переменных в QtCreator через gdb

Отображение переменных в QtCreator через gdb

Отладчик gdb не показывает содержимое переменной типа std::string

268
С++ - Вызвано исключение по адресу 0x00502974

С++ - Вызвано исключение по адресу 0x00502974

После вписывания массива пишет - Вызвано исключение по адресу 0x00502974 в Project2exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE01

188