View Single Post
Old 10-05-2016, 11:39   #18
Vexem
Senior Member
 
L'Avatar di Vexem
 
Iscritto dal: Jul 2008
Cittā: Roma
Messaggi: 387
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Davvero strano, anche perche' a me continua a funzionare.
C'e' un altro errore minore:

Codice:
printf("--- Fila numero %d --- \n", numfila + 1);
numfila in quel momento non e' inizializzato, quindi questa istruzione non e' corretta, puoi sostituirla con

Codice:
printf("--- Fila numero %d --- \n", fila + 1);
Tornando alle cose serie: sembra che ci sia bisogno di un esorcista.
Sarebbe opportuno provare ad escludere delle parti per vedere se almeno si arriva alla fine. Il programma pero' e' gia' piuttosto scarno, non so cosa si possa escludere.

Proverei escludendo l'inizializzazione (i.e. commentandola):
Codice:
Posto** creaSala(){
	Posto **v = (Posto **)calloc(numerofile, sizeof(Posto*));
	assert(v != NULL);
	int fila;
	int posto;
	Posto *seat;
	for (fila = 0; fila<numerofile; fila++){
		*(v + fila) = (Posto *)calloc(postixfila, sizeof(Posto));
		assert(*(v + fila) != NULL);
		for (posto = 0; posto<postixfila; posto++){
			//seat = nuovoPosto(posto + 1, fila + 1);
			//v[fila][posto] = *seat;
			//free(seat);
		}
	}

	return v;
}
Siccome calloc() inizializza la memoria a zero, dovresti stampare una serie di posti/file a zero, ma l'importante e' capire se arrivi fino alla fine in questo modo....

ALTRA COSA: aspetta a fare la distruggiSala(), commenta anche quella. Vediamo se si arriva in fondo, prima.
Ho provato a fare tutto quello che dici.
Commentando l'inizializzazione, stampa tutti 0 ma si interrompe comunque.
Togliendo distruggiSala() non cambia nulla (oltre all'ovvio memory leak).

A questo punto direi che č un problema (o magari un'impostazione) dell'IDE.
Provo a farlo runnare sulla macchina virtuale con ubuntu del portatile , vediamo cosa succede.

Male che vada, cambio ambiente
Vexem č offline   Rispondi citando il messaggio o parte di esso