Il while ,non fa quello che vorresti che facesse !
hai il primo ciclo for ," che passa da una riga ad un altra" , il secondo for scansiona elemento per elemento la riga , se devi fare qualche modifica la devi fare all'interno
del primo for
il while dovrebbe provocare un ciclo infinito , mettiamo il caso j=0 condizione del while
j<20 sempre vera non uscirebbe mai dal ciclo , che a sua volta se la condizione if sempre
verificata , provocherebbe un continuo incremento di cont fino a quanto puo contenere
codice:void controllariga() { int i,j,k,cont=0; for(i=0;i<larghezza_colonne;i++) { for(j=0; j<altezza_righe;j++) { if(mappa2[i][j]==1) cont++; } if(cont<20) cont=0; else if(cont==20)//se cont =20 { for(k=0; k<20;k++)//tutti gli elementi della riga sono sostituiti con 0 mappa2[i][k]=0;// se cancellare significa per te eliminare //devi seguire il consiglio di oregon ,ma dovrai farti una funzione e richiamarla //in questo punto cont=0; //azzera cont } } }//fine controlla riga

Rispondi quotando