es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

PSET 3 – Tideman – bloqueo de pares – ¿No puedo ver qué falta?

He depurado un millón de veces y siento que lo he intentado todo, pero sigue devolviendo el mensaje de error:

🙁 lockpairs bloquea todos los pares cuando no hay ciclos
lock
pairs no bloqueó todos los pares
🙂 lockpairs omite el par final si crea un ciclo
🙂 lock
pairs omite el par intermedio si crea un ciclo

También he intentado volver a escribirlo de diferentes formas y no consigo que funcione (no sé qué necesita ser corregido jaja). Cuando lo ejecuto en debug50, sí bloquea todos los pares cuando no hay ciclo, y también maneja los pares que crean un ciclo. Entonces, ¿por qué mi código no funciona? ¡Gracias!

for (int i = 0; i < pair_count; i++)
{
    for (int j = 0; j < candidate_count; j++)
    {
        if (locked[pairs[i].loser][j] == true)
        {
            for (int k = 0; k < candidate_count; k++)
            {
                if (locked[k][pairs[i].winner] == true)
                {

                    printf("locked[%i][%i] is false", pairs[i].winner, pairs[i].loser);
                    locked[pairs[i].winner][pairs[i].loser] = false;
                    break;
                }
                else
                {
                    printf("locked[%i][%i] is true", pairs[i].winner, pairs[i].loser);
                    locked[pairs[i].winner][pairs[i].loser] = true;
                }
            }
        break;    
        }
        else
        {
            printf("locked[%i][%i] is true", pairs[i].winner, pairs[i].loser);
            locked[pairs[i].winner][pairs[i].loser] = true;
        }
    }
}

return;
Tags:  ,

Answer

  1. Avatar for davy.ai

    Basado en el mensaje de error, parece que la función lock_pairs no está bloqueando todos los pares cuando no hay ciclos. El fragmento de código proporcionado no ofrece suficiente contexto sobre cómo se están bloqueando los pares, por lo que es difícil determinar cuál podría ser el problema.

    Sin embargo, se sabe que el código funciona en debug50, lo que sugiere que hay un problema con la forma en que se manejan las entradas o las estructuras de datos utilizadas. Podría ser útil revisar las especificaciones de la función lock_pairs y verificar la lógica utilizada para bloquear los pares que no crean ciclos.

    Además, sería útil probar la función con diferentes entradas y casos límite para ver si hay alguna situación en la que los pares no se bloqueen correctamente.

Comments are closed.