Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Ruvik Withers

C++ Campo minado com matrizes em C++

Recommended Posts

Faço curso de TI na escola, e o professor deu uma atividade que era fazer um campo minado em C, sem muito problemas eu consegui fazer do meu jeito, porém o professor disse que não poderia fazer a atividade utilizando duas matrizes, o que me quebrou bastante, então se alguém puder me ajudar ou me dizer uma forma melhor de desenvolver o código, eu agradeço. O professor disse que é possível fazer o campo minado utilizando apenas um Do. Vou postar o código que fiz aqui:

#include <iostream>

int main (){
char matriz[5][5];
char matrizera[5][5];
int ponto = 0;
int bomba=0;
int vencer=0;
int lin;
int col;
int linha;
int coluna;

for(linha=0;linha<5;linha++){
    for(coluna=0;coluna<5;coluna++){
        matriz[linha][coluna] = 'o';
        matrizera[linha][coluna] = 'o';
    }
}
for(linha=0;linha<3;linha++){
    do{
        do{
            printf("Linha da bomba: ");
            scanf("%d",&lin);
        } while(lin<0 || lin>4);
        do{
            printf("Coluna da bomba: ");
            scanf("%d",&col);
        } while(col<0 || col>4);
    if (matrizera[lin][col] == 'x'){
        printf ("\nPosicao repitida\n");
        }
    } while (matrizera[lin][col] == 'x');
matrizera[lin][col] = 'x';
}


do{
    do{
    for(linha=0;linha<5;linha++){
        for(coluna=0;coluna<5;coluna++){
            printf("%c",matriz[linha][coluna]);
        }
        printf("\n");
    }
    do{
        printf("Linha da bomba: ");
        scanf("%d",&lin);
    } while(lin<0 || lin>4);
    do{
        printf("Coluna da bomba: ");
        scanf("%d",&col);
    } while(col<0 || col>4);
    if (matriz[lin][col] == '*'){
        printf ("\nPosicao Repitida\n");
    }
    } while(matriz[lin][col] == '*');
    if(matrizera[lin][col] == 'x'){
        bomba++;
    } else {
        ponto ++;
        matriz[lin][col]='*';
        matrizera[lin][col]='*';
    }
system("cls");
} while (ponto  < 10 && bomba != 1);

if (bomba > 0 ){
    printf ("O jogador 1 foi o vencedor: \n");
}else{
    printf ("O jogador 2 foi o vencedor: \n");
}
for(linha=0;linha<5;linha++){
        for(coluna=0;coluna<5;coluna++){
            printf("%c",matrizera[linha][coluna]);
        }
        printf("\n");
    }

system ("pause");
return 0;
}

 

Editado por Simon Viegas
Olá! Favor ler tópico e seguir orientações sobre POSTAGEM DE CÓDIGOS: http://www.clubedohardware.com.br/announcement/27-poste-seus-c%C3%B3digos-corretamente/
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, Ruvik Withers disse:

[...] o professor disse que não poderia fazer a atividade utilizando duas matrizes, o que me quebrou bastante


Creio que o ideal seria você tentar descobrir formas, e os colaboradores tentarem ajudar com a implementação e/ou análise de viabilidade, pois faz parte do desenvolvimento esse processo de descoberta.

 

 

 

12 horas atrás, Ruvik Withers disse:

O professor disse que é possível fazer o campo minado utilizando apenas um Do. Vou postar o código que fiz aqui:

 

Creio que esse "Do" se refere ao "Do/While" (o comando em si é o While - laço de repetição), correto?.  Nesse caso, precisaria definir o que quer dizer com "apenas um". Seria um do/while só para todo o algoritmo ou um do/while para percorrer a matriz? ou seria outra coisa? De certo modo acho estranho essa limitação.

 

No aguardo.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • O professor apenas não quer que seja feito com duas matrizes(caso fizer, sera descontado nota), no entanto ele disse que o campo minado poderia ser feito ultilizando um "Do/While", porém nós não necessariamente teríamos que fazer com apenas um "Do/While", ele só disse isso pra deixar claro que nós poderíamos. :3

    • Curtir 2

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Beleza...

     

    Creio que realmente dá para fazer com uma matriz.

     

    Tente bolar uma forma, ai caso tenha dúvidas, é só perguntar.

     

     

    No aguardo.

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Ruvik Withers    você pode usar apenas uma matriz que dará certo sim, eu também fiz esse jogo de campo minado , pois meu professor de lógica de programação aqui do senac pediu para fazermos, e usei só uma matriz e consegui fazer o jogo bem parecido com o original , ele mostra quantas posições está a bomba próximo da posição que o usuário escolheu, e usei a própria matriz para guardar os caracteres do jogo como a bomba que é um " x "  e onde não é bomba é um " . " e também um número referente a distancia que se está da bomba, e a cada jogada é desenhada a matriz na tela .    mas seu código precisa ser todo modificado pois do jeito que está não conseguirá funcionar assim, começar do zero .

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×