PDA

View Full Version : C# programma scuola


zebmckey
26-08-2020, 13:41
Abbiamo fatto questo programma in c# ma ci restituisce una serie di errori, ma non riusciamo a venirne fuori. Avete la possibilità di darmi una mano? Grazie.
Qui il codice sorgente https://godbolt.org/z/qvx36v

Inviato dal mio Redmi Note 8T utilizzando Tapatalk

Lampo89
27-08-2020, 21:10
Abbiamo fatto questo programma in c# ma ci restituisce una serie di errori, ma non riusciamo a venirne fuori. Avete la possibilità di darmi una mano? Grazie.
Qui il codice sorgente https://godbolt.org/z/qvx36v

Inviato dal mio Redmi Note 8T utilizzando Tapatalk
Nella funzione main() vedo:

112 int n_inf;
113 int n_susc=dim*dim-n_inf;

utilizzi una variabile non inizializzata che genera undefined-behaviour. Inizializzala al valore opportuno.

Nella funzione Evoluzione

63 if (recoverytime>3) {
64
65 pop(l,m)==State::Recovered;
66 n_r++;
67 n_i--;
68 }

Alla riga 65 è voluto l'operatore di uguaglianza invece dell'assegnamento? la domanda nasce dal fatto che il bool risultante non viene mai utilizzato

Inoltre, a prima vista non mi torna il metodo clear.
Mi immagino che serva a resettare lo stato del reticolo: cioé un vettore con N_*N_ entry, ciascuna inizializzata a "default" (cioé primo elemento dell'enumerativo State).

Ma così stai di fatto non facendo nulla, cioé stai swappando il vettore con una sua copia. Sarebbe corretto invece una cosa del genere:

people_ = std::vector<State>(N_ * N_);