Solução Campo Minado

Solução por Rogério Júnior

Após lermos o número de cédulas do tabuleiro, lemos quantas minas há em cada uma delas e salvamos no vetor tab. Feito isso, para cada posição i do tabuleiro, vamos imprimir a quantidade de minas em seus arredores, ou seja, quantas minas há nos vizinhos esquerdo e direito e na própria posição. Para isso, adicionaremos uma unidade no valor a ser impresso para cada uma dessas posições (i-1ii+1) que tem uma mina. Para melhor entendimento, segue o código do nosso leitor Roger Benet, com alguns comentários meus:


#include <cstdio>
int tab[60];
int main() {
int n, i, k; // declaro os inteiros n, i, e k
scanf("%d", &n); // leio o valor de n
for(i=1; i<=n; i++) scanf("%d", &tab[i]); // leio o tabuleiro
for(i = 1; i <= n; i++){ // para cada casa do tabuleiro
k = 0; // o número k de bombas a seu redor começa com zero
// adiciono 1 para cada mina que há na casa ou em seus vizinhos
if(tab[i-1] == 1) k++;
if(tab[i] == 1) k++;
if(tab[i+1] == 1) k++;
// depois imprimo o valor de k, seguido da quebra de linha
printf("%d\n", k);
}
return 0;
}

view raw

campo.cpp

hosted with ❤ by GitHub