Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int ozyw,najm,najw;
- void zmien(int *pierw,int *druga, int n) {
- int i;
- for(i=0;i<n*n;i++){
- int ilosc=0;
- //ilosc sasiadow
- if(i==0){//left,up
- if(pierw[i+1]==1)
- ilosc++;
- if(pierw[i+n]==1)
- ilosc++;
- if(pierw[i+n+1]==1)
- ilosc++;
- }
- else if(i==n-1){//right,up
- if(pierw[i-1]==1)
- ilosc++;
- if(pierw[i+n]==1)
- ilosc++;
- if(pierw[i+n-1]==1)
- ilosc++;
- }
- else if(i==n*(n-1)){//left,down
- if(pierw[i+1]==1)
- ilosc++;
- if(pierw[i-n]==1)
- ilosc++;
- if(pierw[i-n+1]==1)
- ilosc++;
- }
- else if(i==(n-1)*(n+1)){//right,down
- if(pierw[i-1]==1)
- ilosc++;
- if(pierw[i-n]==1)
- ilosc++;
- if(pierw[i-n-1]==1)
- ilosc++;
- }
- else if(i>0 && i<n-1){ //up
- if(pierw[i-1]==1)
- ilosc++;
- if(pierw[i+1]==1)
- ilosc++;
- if(pierw[i+n-1]==1)
- ilosc++;
- if(pierw[i+n]==1)
- ilosc++;
- if(pierw[i+n+1]==1)
- ilosc++;
- }
- else if(i%n==0){ //left
- if(pierw[i-n]==1)
- ilosc++;
- if(pierw[i+n]==1)
- ilosc++;
- if(pierw[i-n+1]==1)
- ilosc++;
- if(pierw[i+1]==1)
- ilosc++;
- if(pierw[i+n+1]==1)
- ilosc++;
- }
- else if((i+1)%n==0){ //right
- if(pierw[i-n]==1)
- ilosc++;
- if(pierw[i+n]==1)
- ilosc++;
- if(pierw[i-n-1]==1)
- ilosc++;
- if(pierw[i+n-1]==1)
- ilosc++;
- if(pierw[i-1]==1)
- ilosc++;
- }
- else if(i>((n-1)*(n+1)-n+1) && i<(n-1)*(n+1)){ //down
- if(pierw[i-1]==1)
- ilosc++;
- if(pierw[i+1]==1)
- ilosc++;
- if(pierw[i-n]==1)
- ilosc++;
- if(pierw[i-n-1]==1)
- ilosc++;
- if(pierw[i-n+1]==1)
- ilosc++;
- }
- else{ //reszta,srodek
- if(pierw[i-n]==1)
- ilosc++;
- if(pierw[i-n-1]==1)
- ilosc++;
- if(pierw[i-n+1]==1)
- ilosc++;
- if(pierw[i-1]==1)
- ilosc++;
- if(pierw[i+1]==1)
- ilosc++;
- if(pierw[i+n-1]==1)
- ilosc++;
- if(pierw[i+n+1]==1)
- ilosc++;
- if(pierw[i+n]==1)
- ilosc++;
- }
- if(pierw[i]==0){
- if(ilosc==ozyw)
- druga[i]=1;
- else
- druga[i]=0;
- }
- else{
- if(ilosc<najm && ilosc>najw)
- druga[i]=0;
- else
- druga[i]=1;
- }
- }
- for(i=0;i<n*n;i++){
- if(i%n==0)
- printf("\n");
- printf("%d",druga[i]);
- pierw[i]=druga[i];
- }
- }
- void wyswietl(int n){
- srand(time(NULL));
- char key[10];
- int i,ozyw,najm,najw;
- int *pierw;
- int *druga;
- pierw=(int *)malloc((n*n)*sizeof(int));
- druga=(int *)malloc((n*n)*sizeof(int));
- for(i=0;i<n*n;i++)
- {
- pierw[i]=rand()%2;
- }
- printf("Podaj liczbe sasiadow by ozywic komorke:");
- scanf("%d",&ozyw);
- printf("Najmniejsza ilosc sasiadow:");
- scanf("%d",&najm);
- printf("Najwieksza ilosc sasiadow:");
- scanf("%d",&najw);
- while(getchar() == '\n'){
- printf("\nEnter - dalej, dowolny klawisz - zatrzymaj");
- zmien(pierw,druga,n);
- }
- }
- int main() {
- int n;
- char wybor;
- int exit=0;
- while(exit!=1){
- printf("Gra w zycie\n");
- printf("[1]Zagraj\n");
- printf("[2]Wyjdz z gry\n:");
- scanf("%c",&wybor);
- switch(wybor){
- case '1':
- printf("Podaj rozmiar tablicy:");
- scanf("%d",&n);
- wyswietl(n);
- break;
- case '2':
- exit=1;
- break;
- default:
- printf("Nie wybrales polecenia\n");
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement