Я пытаюсь выполнить пузырьковую сортировку функции, которая вычисляет среднее значение, среднее значение получено из динамического массива, который находится в классе.У меня есть два динамических массива, один - массив класса, а другой - массив целых чисел.
Я попытался установить переменную, равную studentArr []. GetGrades, чтобы получить оценки, а затем выполнить пузырьковую сортировку.но это не сработало.
class Student
{
private:
string studentName;
int* grades;
int size;
public:
int* setGrades()
{
grades = new int [getSize()]; // allocates memory for array
for(int x = 0; x < size;x++) // loop to set values
{
grades[x] = (rand() % 100); //from 0 - 100
}
return grades;
}
int getAverage()
{
int average = 0;
for(int i = 0; i < size; i++)
{
average += grades[i] / size;
}
return average;
}
};
void bubbleSort(Student studentArr[], int tempSize)
{
for (int i = 0; i < tempSize; i++)
{
for (int x = 0; x < tempSize - i - 1; x++)
{
// if element is larget than
if (studentArr[x].getAverage() > studentArr[x + 1].getAverage())
{
// do swap
Student temp = studentArr[x];
studentArr[x] = studentArr[x + 1];
studentArr[x + 1] = temp;
}
}
}
}
получить пузырь средних значений, отсортированный от наименьшего к наибольшему, - это то, чего я хотел достичь, но мне возвращается только случайное отрицательное целое число
Вот ссылка на полный тексткод, если вы хотите просмотреть все это: https://ideone.com/QMW7xb