PDA

View Full Version : [C++] Matrice fuori dai limiti


MaxGuevara
16-12-2010, 13:46
Ciao a tutti.

Sto facendo un programma che simuli il gioco Prato fiorito,e mi sono bloccato in una funzione che deve controllare le 8 posizioni attorno ad un punto ed incrementarle di 1.

Il metodo per svolgere cio' e' questo:



for(int r=(ry-1); r<=(ry+1); r++)
{
for(int q=(rx-1); q<=(rx+1); q++)
{

if(base[q][r]!=9)
{
base[q][r]++;
}
}
}


ossia due for annidati che controllano le 8 posizioni e se il numero salvato in ogni posizione e' diverso da 9,lo incrementa di 1.

Questi for pero' non funzionano se rx-1 o ry-1 o rx+1 o ry+1 escono dalla matrice,e mi mandano in palla il compilatore.

Come posso fare per effettuare questa operazione rimanendo nei limiti di grandezza della matrice?