Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. void main(void){
  4.     char A[46][80],B[46][80];
  5.     int x=44,y=78,i,j,m,n,v=0;
  6.     ////llena matriz con celulas muertas//////
  7.     for (i=0; i<=x+1; i++)
  8.         for (j=0; j<=y+1; j++)
  9.             A[i][j]='.';
  10.     ////////Llenar matriz de tamaΓ±o n con celular vivas  o muertas - Estado inicial //////
  11.     cout<<"\n   DEFINIR ESTADO INICIAL CENTRAL"<<endl;
  12.     cout<<"\n   Ancho = ";cin>>m;   cout<<"\n   Largo = ";cin>>n;   clrscr();
  13.     cout<<"\n   LLenar con celulas vivas = 0 y Celular muertas = . = ";
  14.     for (i=1;i<=m;i++){
  15.         for (j=1;j<=n;j++){
  16.             gotoxy(j*2+24,i+7); cin>>A[i+((int)((x-m)/2))][j+((int)(y-n)/2)];
  17.         }
  18.     }   clrscr();
  19.     _setcursortype(_NOCURSOR);  /////oculta el mouse///////
  20.     while(true){    ////////posiciona el cursor/////////////////////
  21.         gotoxy(1,1);    ////////////se inprime la malla////////////////////
  22.         for(i=1;i<=x;i++){
  23.             for(j=1;j<=y;j++){
  24.                 cout<<" "<<A[i][j];
  25.             }
  26.             cout<<"\n";
  27.         }   getch();
  28.         ///////////se realiza el chequeo///////////////////
  29.         for(i=1;i<=x;i++){
  30.             for(j=1;j<=y;j++){
  31.                 v=0;    //////verificador alrededor de la casillla/////
  32.                 ///arriba
  33.                 if(A[i-1][j-1]=='0'){v++;}
  34.                 if(A[i-1][j]=='0'){v++;}
  35.                 if(A[i-1][j+1]=='0'){v++;}
  36.                 ///medio
  37.                 if(A[i][j-1]=='0'){v++;}
  38.                 if(A[i][j+1]=='0'){v++;}
  39.                 ///abajo
  40.                 if(A[i+1][j-1]=='0'){v++;}
  41.                 if(A[i+1][j]=='0'){v++;}
  42.                 if(A[i+1][j+1]=='0'){v++;}
  43.                 /////////////decide si vive o muere/////////////////
  44.                 if(A[i][j]=='0'){   ////para celula viva/////
  45.                     if(v==2||v==3)
  46.                         B[i][j]='0';
  47.                     else
  48.                         B[i][j]='.';
  49.                 }
  50.                 else{  /////para celula muerta/////
  51.                     if(v==3)
  52.                         B[i][j]='0';
  53.                     else
  54.                         B[i][j]='.';
  55.                 }
  56.             }
  57.         }
  58.         ///////Actualiza la matriz////////
  59.         for(i=1;i<=x;i++)
  60.             for(j=1;j<=y;j++)
  61.                 A[i][j]=B[i][j];
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement