Advertisement
Guest User

Untitled

a guest
Apr 28th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.22 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  6.  
  7. int ozyw,najm,najw;
  8.  
  9. void zmien(int *pierw,int *druga, int n) {
  10.     int i;
  11.         for(i=0;i<n*n;i++){
  12.             int ilosc=0;
  13.                  //ilosc sasiadow
  14.                                 if(i==0){//left,up
  15.                                         if(pierw[i+1]==1)
  16.                                                 ilosc++;
  17.                                         if(pierw[i+n]==1)
  18.                                                 ilosc++;
  19.                                         if(pierw[i+n+1]==1)
  20.                                                 ilosc++;
  21.                                 }
  22.                                 else if(i==n-1){//right,up
  23.                                         if(pierw[i-1]==1)
  24.                                                 ilosc++;
  25.                                         if(pierw[i+n]==1)
  26.                                                 ilosc++;
  27.                                         if(pierw[i+n-1]==1)
  28.                                                 ilosc++;
  29.                                 }
  30.                                 else if(i==n*(n-1)){//left,down
  31.                                         if(pierw[i+1]==1)
  32.                                                 ilosc++;
  33.                                         if(pierw[i-n]==1)
  34.                                                 ilosc++;
  35.                                         if(pierw[i-n+1]==1)
  36.                                                 ilosc++;
  37.                                 }
  38.                                 else if(i==(n-1)*(n+1)){//right,down
  39.                                         if(pierw[i-1]==1)
  40.                                                 ilosc++;
  41.                                         if(pierw[i-n]==1)
  42.                                                 ilosc++;
  43.                                         if(pierw[i-n-1]==1)
  44.                                                 ilosc++;
  45.                                 }
  46.                                 else if(i>0 && i<n-1){ //up
  47.                                         if(pierw[i-1]==1)
  48.                                                 ilosc++;
  49.                                         if(pierw[i+1]==1)
  50.                                                 ilosc++;
  51.                                         if(pierw[i+n-1]==1)
  52.                                                 ilosc++;
  53.                                         if(pierw[i+n]==1)
  54.                                                 ilosc++;
  55.                                         if(pierw[i+n+1]==1)
  56.                                                 ilosc++;
  57.                                 }
  58.                                 else if(i%n==0){ //left
  59.                                         if(pierw[i-n]==1)
  60.                                                 ilosc++;
  61.                                         if(pierw[i+n]==1)
  62.                                                 ilosc++;
  63.                                         if(pierw[i-n+1]==1)
  64.                                                 ilosc++;
  65.                                         if(pierw[i+1]==1)
  66.                                                 ilosc++;
  67.                                         if(pierw[i+n+1]==1)
  68.                                                 ilosc++;
  69.                                 }
  70.                                 else if((i+1)%n==0){ //right
  71.                                         if(pierw[i-n]==1)
  72.                                                 ilosc++;
  73.                                         if(pierw[i+n]==1)
  74.                                                 ilosc++;
  75.                                         if(pierw[i-n-1]==1)
  76.                                                 ilosc++;
  77.                                         if(pierw[i+n-1]==1)
  78.                                                 ilosc++;
  79.                                         if(pierw[i-1]==1)
  80.                                                 ilosc++;
  81.                                 }
  82.                                 else if(i>((n-1)*(n+1)-n+1) && i<(n-1)*(n+1)){ //down
  83.                                         if(pierw[i-1]==1)
  84.                                                 ilosc++;
  85.                                         if(pierw[i+1]==1)
  86.                                                 ilosc++;
  87.                                         if(pierw[i-n]==1)
  88.                                                 ilosc++;
  89.                                         if(pierw[i-n-1]==1)
  90.                                                 ilosc++;
  91.                                         if(pierw[i-n+1]==1)
  92.                                                 ilosc++;
  93.                                 }
  94.                                 else{ //reszta,srodek
  95.                                         if(pierw[i-n]==1)
  96.                                                 ilosc++;
  97.                                         if(pierw[i-n-1]==1)
  98.                                                 ilosc++;
  99.                                         if(pierw[i-n+1]==1)
  100.                                                 ilosc++;
  101.                                         if(pierw[i-1]==1)
  102.                                                 ilosc++;
  103.                                         if(pierw[i+1]==1)
  104.                                                 ilosc++;
  105.                                         if(pierw[i+n-1]==1)
  106.                                                 ilosc++;
  107.                                         if(pierw[i+n+1]==1)
  108.                                                 ilosc++;
  109.                                         if(pierw[i+n]==1)
  110.                                                 ilosc++;
  111.                                 }
  112.                                 if(pierw[i]==0){
  113.                                         if(ilosc==ozyw)
  114.                                                 druga[i]=1;
  115.                                         else
  116.                                                 druga[i]=0;
  117.                                 }
  118.                                 else{
  119.                                         if(ilosc<najm && ilosc>najw)
  120.                                                 druga[i]=0;
  121.                                         else
  122.                                                 druga[i]=1;
  123.                                 }
  124.  
  125.                 }
  126.  
  127.                 for(i=0;i<n*n;i++){
  128.                      if(i%n==0)
  129.                         printf("\n");
  130.                         printf("%d",druga[i]);
  131.                         pierw[i]=druga[i];
  132.                 }
  133.  
  134. }
  135.  
  136. void wyswietl(int n){
  137.         srand(time(NULL));
  138.         char key[10];
  139.         int i,ozyw,najm,najw;
  140.         int *pierw;
  141.         int *druga;
  142.         pierw=(int *)malloc((n*n)*sizeof(int));
  143.         druga=(int *)malloc((n*n)*sizeof(int));
  144.         for(i=0;i<n*n;i++)
  145.         {
  146.                 pierw[i]=rand()%2;
  147.  
  148.  
  149.         }
  150.         printf("Podaj liczbe sasiadow by ozywic komorke:");
  151.               scanf("%d",&ozyw);
  152.         printf("Najmniejsza ilosc sasiadow:");
  153.               scanf("%d",&najm);
  154.         printf("Najwieksza ilosc sasiadow:");
  155.               scanf("%d",&najw);    
  156.     while(getchar() == '\n'){
  157.         printf("\nEnter - dalej, dowolny klawisz - zatrzymaj");
  158.             zmien(pierw,druga,n);
  159.                
  160.         }
  161. }
  162.  
  163. int main() {
  164.         int n;
  165.         char wybor;
  166.         int exit=0;
  167.         while(exit!=1){
  168.                 printf("Gra w zycie\n");
  169.                 printf("[1]Zagraj\n");
  170.                 printf("[2]Wyjdz z gry\n:");
  171.                 scanf("%c",&wybor);
  172.  
  173.                 switch(wybor){
  174.                         case '1':
  175.                                 printf("Podaj rozmiar tablicy:");
  176.                                 scanf("%d",&n);
  177.                                 wyswietl(n);
  178.                                 break;
  179.  
  180.                         case '2':
  181.                                 exit=1;
  182.                                 break;
  183.                         default:
  184.                                 printf("Nie wybrales polecenia\n");
  185.                                 break;
  186.  
  187.                 }
  188.         }
  189.         return 0;
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement