Intanto qui devi inizializzare la matrice lettoLibero prima di assegnare i valori alle singole celle.E poi da quello che dice il problema all'inizio i letti sono tutti liberi, devi assegnare true ad ogni cella non false.
Il ragionamento sembra filare,nel punto 2 la prima stanza libera però la sai già, non devi mica rifare la ricerca
La soluzione può benissimo essere fatta con cicli annidati.
Ad esempio crei due cicli annidati su stanza e letto in cui man mano verifichi se un letto è libero.
Quando trovi un letto libero sarebbe una buona cosa non avere altri due cicli annidati in cui esegui la ricerca di un letto occupato con il quale fare lo scambio.
Questo può provocare un po' di confusione sugli indici ed essere fonte di errori.
Se possibile creati una funzione che va ad effettuare la ricerca di un letto occupato ed effettua lo scambio:
alla funzione puoi passare gli indici del posto libero e cominci a cercare dall'indice di riga successivo.Poi devi solo ricordarti di ritornare appena effettuato lo scambio, altrimenti riempirai ogni letto.
Prova a postare il codice a cui arrivi, e vediamo perché non va![]()



Rispondi quotando