Как исправить доступ памяти к вектору стеков в c? - PullRequest
0 голосов
/ 20 июня 2019

Я работаю над проектом, который представляет собой поезд с N вагонами, которые должны быть реорганизованы в порядке полумесяца. Я использую стеки, чтобы поставить вагоны в ожидание.

Программа останавливается, когда я использую условие доступа к вектору стеков.

        pilha *plh[num_trilhos]; // HERE'S THE DECLARATION OF THE VECTOR

        if (n != 0)

            {

            entrada = cria_fila ();

            saida = cria_lista ();

            for (i = 0; i < num_trilhos; i++)

            {

            plh[i] = cria_pilha (); HERE'S WHERE I CREATE A STACK FOR EACH POSITION IN THE VECTOR

            }

            for (i = 0; i < n; i++)

            {

            id = rand () % n;

        /* rep = checa_repetido(entrada, id);
        /*
        if (rep == 0)
        {*/
            insere_fila (entrada, id);

        /*}
        else
        id = rand() % n;
        */
            }

            imprime_fila (entrada);

            while (entrada->ini != NULL)

            {

            if (entrada->ini->id == 1)

                {

                insere_lista (saida, id);
                retira_vagao (entrada);
                continue;

                }


            for (j = 0; j < num_trilhos; j++)

                {

                if (plh[j]->topo > entrada->ini->id && !pilha_cheia (plh[j]))   { 

// ВЫШЕ, ГДЕ ОСТАНОВКА ПРОГРАММЫ. Я НЕ МОГУ УЗНАТЬ ПОЧЕМУ ЭТИ УСЛОВИЯ ОСТАНАВЛИВАЮТСЯ В ПРОГРАММУ.

      push (plh[j], entrada->ini->id);
      retira_vagao (entrada);
      break;

}

Вы можете мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...