Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /* Trabalho - The Walking Dead
- Algoritmos e Lógica de Programação e Matemática Discreta
- Desenvolvedores:
- Thainnara dos Santos RA: 2760481811013
- Vitor Gonçalves RA: 2760481811016 */
- int main (){
- int m,n,i,j,dias,y;
- int hum=0,zomb=0,vazio=0;/*contadores*/
- printf("Quantidade de linhas da matriz: ");
- scanf("%d",&m);
- printf("Quantidade de colunas da matriz: ");
- scanf("%d",&n);
- printf("Quantidade de dias: ");
- scanf("%d",&dias);
- //vc precisa declarar o tamanho da matriz depois de perguntar o tamanho ok? ok
- int M[m][n];
- //rand() % (max_number + 1 - minimum_number) + minimum_number
- int num_aleatorio;
- printf("Configuracao Inicial da Populacao: \n");
- for(i=0;i<m;i++){
- for(j=0;j<n;j++){
- num_aleatorio = rand() % (2 + 1 - 0) + 0; //gera um numero aleatorio entre 0 < n < 3
- M[i][j] = num_aleatorio;
- // scanf("%d",&M[i][j]);
- }
- }
- // 0 = limpo
- // 1 = humano
- // 2 = zumbi
- printf("\n\n");
- printf("Estado Inicial da Populacao\n\n");
- for(i=0;i<m;i++){
- for(j=0;j<n;j++){
- printf("%d ", M[i][j]);
- }
- printf("\n");
- }
- printf("\n\n");
- //faz uma iteração simples em todos os elementos da matriz, como vc fez lá em cima pra printar
- int linha, coluna;
- int ii, jj;
- int vizinho_atual;
- for(i=0;i<m;i++){
- for(j=0;j<n;j++){
- //checando os vizinhos
- printf("Checking element %d,%d ....\n", i, j);
- for(ii=-1; ii<2; ii++){
- for(jj=-1; jj<2; jj++){
- if ((ii == 0) && (jj == 0)){ //nao checar ele mesmo
- continue;
- }
- if((i == 0) && (ii == -1)){ //caso seja nao tenha linha acima, usar a ultima
- linha = m - 1;
- } else if ((i == m-1) && (ii == 1)){ // caso nao tenha linha abaixo, usar a primeira
- linha = 0;
- } else {
- linha = i + ii;
- }
- if((j == 0) && (jj == -1)){ //caso nao tenha coluna à esquerda, usar a ultima
- coluna = n - 1;
- } else if ((j == n-1) && (jj == 1)){ // caso nao tenha coluna à direita, usar a primeira
- coluna = 0;
- } else {
- coluna = j + jj;
- }
- //para debuggar
- // printf("position %d , %d\n", linha, coluna);
- vizinho_atual = M[linha][coluna];
- // printf("%d\n",vizinho_atual);
- if(vizinho_atual == 0){
- vazio++;
- } else if (vizinho_atual == 1){
- hum++;
- } else {
- zomb++;
- }
- }
- }
- printf("h: %d z:%d v:%d\n\n",hum,zomb,vazio);
- hum = 0; zomb = 0; vazio = 0;
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment