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....