Hola a todos, como pasatiempo estoy realizando el algoritmo del automata celular de conway, ya lo acabe(segun yo ¬¬) y al correrlo el programa se paraliza a medio proceso y ya no continua, me gustaria que me ayudaran a identificar el problema.
aqui les dejo todo mi codigo:
- #include<iostream.h> 
-   
- void main() 
- { 
-     int m,n,i,j,flagCell=0,iniX,iniY,finX,finY,a,b,vec; 
-     int cells[10][10], vecinos[10][10]; 
-     char opc; 
-     do 
-     { 
-         cout<<"DEMO v0.1----> Simulacion de Celdas; AUTOMATA CELULARaannn"; 
-         cout<<"Bienvenido al Programa de Simulacion de Celulas Por Favorn"; 
-         cout<<"Seleccione una Opcion del Siguiente Menu y presione Enter para continuar:n"; 
-         cout<<"(C) Crear Granja Celular.n"; 
-         cout<<"(M) Mostrar Granja Actualn"; 
-         cout<<"(A) Avanzar el Tiempo(Ejecucion del AUTOMATA)n"; 
-         cout<<"(S) Salirnn"; 
-         cout<<"Digite su Opcion: "; 
-         cin>>opc; 
-   
-         switch(opc) 
-         { 
-         case 'c': 
-         case 'C': 
-             cout<<"Defina el Numero de Columnas y Filas De La Granja Celular:n"; 
-             cin>>m>>n; 
-             cout<<"<<<Empieza la Definicion de los Estados de la Simulacion>>>n"; 
-             cout<<"Digite 0 para Celula Muerta y 1 para Vivann"; 
-             for(i=0;i<=m-1;i++) 
-             { 
-                 for(j=0;j<=n-1;j++) 
-                 { 
-                     cout<<"Digite el Estado De la Celula en el espacio ("<<i+1<<","<<j+1<<"): "; 
-                     cin>>cells[i][j]; 
-                 } 
-             } 
-             flagCell=1; 
-             break; 
-          
-         case 'm': 
-         case 'M': 
-             if(flagCell==1) 
-             { 
-                 cout<<"<<Imprimiendo Granja Celular, Por Favor Espere>>n"; 
-                 for(i=0;i<=m-1;i++) 
-                 { 
-                     for(j=0;j<=n-1;j++) 
-                     { 
-                         if(cells[i][j]==0) cout<<"M "; 
-                         else cout<<"V "; 
-                     } 
-                     cout<<"n"; 
-                 } 
-                 cout<<"Histograma:nnV: Celula Actual vivanM: Celula Actualmente muertann"; 
-             } 
-             else cout<<"Error01: Print Error - Tratando de Imprimir una Granja no Creada Anteriormente aann"; 
-             break; 
-   
-         case 'a': 
-         case 'A': 
-             if(flagCell==1) 
-             { 
-                 for(i=0;i<=m-1;i++) 
-                 { 
-                     for(j=0;j<=n-1;j++) 
-                     { 
-                         iniX=i-1; 
-                         iniY=j-1; 
-                         finX=i+1; 
-                         finY=j+1; 
-                         if(iniX<0) iniX=i; 
-                         if(iniY<0) iniY=j; 
-                         if(finX==m) finX=m-1; 
-                         if(finY==n) finY=n-1; 
-                         vec=0; 
-                         a=0; 
-                         b=0; 
-                         for(a=iniX;a<=finX;a++) 
-                         { 
-                             for(b=iniY;b<=finY;b++) 
-                             { 
-                                 if(a!=i||b!=j) 
-                                 { 
-                                     if (cells[a][b]==1) vec++; 
-                                 } 
-                             } 
-                         } 
-                         vecinos[i][j]=vec; 
-                         cout<<"La Celula ("<<i+1<<","<<j+1<<") Tiene "<<vec<<" Vecinosn"; 
-                     } 
-                 } 
-             } 
-             else cout<<"Error 02: Automate Error - El Automata no Puede ejecutarse si la Granja no ha sido Definidaaann"; 
-   
-             for(i=0;i<=m-1;i++) 
-             { 
-                 for(j=0;j<=n-1;j) 
-                 { 
-                     if(cells[i][j]==0) 
-                     { 
-                         if(vecinos[i][j]==3) cells[i][j]=1; 
-                     } 
-                     else 
-                     { 
-                         if(vecinos[i][j]<=1||vecinos[i][j]>=4) cells[i][j]=0; 
-                     } 
-                 } 
-             } 
-             cout<<"El tiempo avanzo con Exito Ahora puede mostrar La Granja con la siguiente Generacionnnaa"; 
-             break; 
-   
-         } 
-     }while(opc!='s'||opc!='S'); 
- } 
-   
me gustaria que me ayudaran a identificar porque se detiene....