Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

ultimo aiuto

s
simone.lioy (1420 points)
23 30 39
asked Dec 4, 2019 in HW6 obbligatorio by simone.lioy (1,420 points)
Salve ragazzi un ultimo aiuto sono riuscito a passare l'esercizio, con lato 2 i controlli da fare sono 8 giustamente ma per lati più grandi come posso fare per esempio lato 4 non posso certo fare 16 controlli mi rallenterebbe tutto il programma, come posso fare?

4 Answers

Lorenzo Cristini (10830 points)
0 0 27
answered Dec 4, 2019 by Lorenzo Cristini (10,830 points)
Non devi fare un controllo a discrezione di ogni test, ma devi fare in modo che dopo che hai controllato un lato per K volte, questo sia colorato tutto di rosso (apparte i pixel verdi ovviamente). Prova ad utilizzare un contatore!
s
simone.lioy (1420 points)
23 30 39
commented Dec 4, 2019 by simone.lioy (1,420 points)
perfetto grazie ora risolvo
Antares (7770 points)
5 6 41
answered Dec 4, 2019 by Antares (7,770 points)
Tu devi fare in modo che il tuo algoritmo calcola il numero di quadrati validi controllando un pixel per ogni segmento facente parte della lunghezza del lato del quadrato cercato tenendo conto che deve essere diverso da nero, deve funzionare indipendentemente dal valore di k. Potresti fare 4 for separati, uno per ogni lato o combinarli tutti in un unico for insieme a un contatore con l'utilizzo di "and" quando si fa il controllo.
plm (18850 points)
7 15 118
answered Dec 4, 2019 by plm (18,850 points)
Prova a considerare più approcci per terminare il controllo di un quadrato. Per esempio potresti controllare non un segmento per lato alla volta, ma due segmenti per volta, oppure partendo dal vertice in alto a sinistra e in basso a destra, rispettivamente lato orizzontale e lato verticale (quindi 4 segmenti a ciclo)
s
simone.lioy (1420 points)
23 30 39
commented Dec 4, 2019 by simone.lioy (1,420 points)
si si ho capito quello dite voi ma lo farò in un secondo momento, sto cercando di risolvere list out of range, anche se ho messo il controllo che se un lato supera la riga o la colonna della griglia me lo scarta ma comunque va in out. non credo di essere stato chiaro.

semplicemente siccome nei controlli aumento la colonna e la riga ho messo un semplice controllo che se l'aumento della riga o della colonna supera la griglia sia in colonna  e in riga proseguo avanti con continue
s
simone.lioy (1420 points)
23 30 39
commented Dec 4, 2019 by simone.lioy (1,420 points)
risolto il  problema del out of range
Tommaso Sgroi (12990 points)
6 11 91
answered Dec 4, 2019 by Tommaso Sgroi (12,990 points)
Non servono tutti quei controlli, tu puoi direttamente definire una funzione che ritorna un booleano dove ritorna false quando incontra un pixel nero. Così se è il quadrato rosso cercato va fino alla fine e torna true, altrimenti interrompe il controllo prima.
s
simone.lioy (1420 points)
23 30 39
commented Dec 5, 2019 by simone.lioy (1,420 points)
no non riesco a controllare questa cosa, non so proprio come controllare se un quadrato è tutto rosso