Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

ultimo aiuto

s
simone.lioy (1420 points)
28 30 39
in HW6 obbligatorio by (1.4k 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
by (10.8k 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)
28 30 39
by (1.4k points)
perfetto grazie ora risolvo
Antares (7770 points)
5 6 41
by (7.8k 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)
13 15 118
by (18.9k 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)
28 30 39
by (1.4k 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)
28 30 39
by (1.4k points)
risolto il  problema del out of range
Tommaso Sgroi (12990 points)
10 11 91
by (13.0k 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)
28 30 39
by (1.4k points)
no non riesco a controllare questa cosa, non so proprio come controllare se un quadrato è tutto rosso