Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Neibar en 12 Junio 2012, 11:17 am



Título: Matriz , bucle a medias (buscaminas)
Publicado por: Neibar en 12 Junio 2012, 11:17 am
Supongamos que tenemos una matriz de 10x10 , y aleatoriamente hay 0 o -1.

entonces, lo que quiero hacer es alrededor del -1 , aparezcan "numeros 1".

y lo verifico de la siguiente manera, alguien puede encontrar si hay algun error? Porqué
no me llega a hacer el cuadrado entero, sino que me hace la esquina superior izquierda solamente. Tal vez mi planteamiento es erróneo... :S

Código
  1. for(int i=0; i<10; i++){
  2. for(int y=0; y<10; y++){
  3. if(minas[i][y]==-1){
  4.  
  5. for(int z=(i-1);z<(i+1);z++){
  6. for(int x=(y-1);x<(y+1);x++){
  7. if(minas[i][y] == 1){
  8. minas[i][y]++;
  9. }else{
  10. if(minas[z][x] != -1){
  11. minas[z][x]= 1;
  12. }
  13. }
  14. }
  15. }
  16.  
  17.  
  18. }
  19. }
  20. }


Título: Re: Matriz , bucle a medias (buscaminas)
Publicado por: Neibar en 12 Junio 2012, 11:19 am
vale ya encontré el error ,,

Código
  1. for(int z=(i-1);z<(i+1);z++){
  2. for(int x=(y-1);x<(y+1);x++){
  3. if(minas[i][y] == 1){
  4. minas[i][y]++;
  5. }else{
  6. if(minas[z][x] != -1){
  7. minas[z][x]= 1;
  8. }
  9. }
  10. }
  11. }
  12.  

tenia que poner "<="

Código
  1. for(int z=(i-1);z<=(i+1);z++){
  2. for(int x=(y-1);x<=(y+1);x++){