Bubblesort динамический массив внутри класса - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь выполнить пузырьковую сортировку функции, которая вычисляет среднее значение, среднее значение получено из динамического массива, который находится в классе.У меня есть два динамических массива, один - массив класса, а другой - массив целых чисел.

Я попытался установить переменную, равную 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

...