@kentos

Почему крашится сортровка?

Здравствуйте, почему может крашится сортировка
void doSort()
{
   unsigned int StudentsCount = 0;
   Student * students = new Student[StudentsCount];
   int temp;
   float ResultMark;

   for (int i = 0; i < StudentsCount - 1; i++)
   {
      for (int j = 0; j < StudentsCount - 1; j++)
      {
         if (students[j].ResultMark > students[j + 1].ResultMark)
         {
            temp = students[j].ResultMark;
            students[j].ResultMark = students[j + 1].ResultMark;
            students[j + 1].ResultMark = temp;
         }
      }
   }
   
   for (int j = 0; j<StudentsCount; j++)
   {
      cout<<"Rezyltat sortirovki"<<students[j].ResultMark<<" ";
   }
   
   cout<<endl;
}

5cfed6d67c117615518207.jpeg
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 3
@HEKOT
Embedded
Ещё бывает такая штука -- дебаггер. Очень классная штука!
Ответ написан
saboteur_kiev
@saboteur_kiev
build engineer
У вас пустой массив.
Никаких проверок на то, что массив пустой, и вы сразу пытаетесь обращаться к его элементам.
Ответ написан
myjcom
@myjcom Куратор тега C++
Дело даже не в том, что массив "неправильный"

Program received signal SIGSEGV, Segmentation fault.
if (students[j].ResultMark > students[j + 1].ResultMark)

kentos,
А теперь возник вопрос
unsigned int StudentsCount = 0;
чему равно (StudentsCount - 1)?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
08 апр. 2020, в 04:51
16000 руб./за проект
08 апр. 2020, в 00:40
15000 руб./за проект