Guest --Leonardo -- Postado Setembro 20, 2008 Denunciar Share Postado Setembro 20, 2008 Boa tarde pessoal!Sou novo em C++ e tenho um exercício pra resolver, onde em uma matrix 3X3 preciso, após digitar o numero, verificar se este já existe na matriz, e só então esta será preenchida com o número digitado.Alguma dica? Não sei nem por onde começar..Um grande abraço!Leonardo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Setembro 20, 2008 Denunciar Share Postado Setembro 20, 2008 Sei que devo armazenar o número em uma variável auxiliar.Minha dúvida é como vou testar com cada elemento da matriz??Meu professor sempre diz: O segredo está nos índices!!! E ele tem razão.. heheUm abraço!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Usuk Postado Setembro 22, 2008 Denunciar Share Postado Setembro 22, 2008 (editado) faça um for comparando o valor com cada elemento da matriz....e coloque uma variavel pra receber um valor caso seja encontrado um numero igualtipo dentro do forif(numero=m[x][y]) contador++ ai depois fora do for coloca outro if if(contador>0) // verifica se foi adicionado algum numero ao contador o q significa q tem um numero repetido ( printf("numero invalido"); } else { m[x][y]=numero // joga o numero dentro da matriz } Editado Setembro 22, 2008 por Usuk Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Leonardo -- Postado Setembro 24, 2008 Denunciar Share Postado Setembro 24, 2008 Mas neste caso ele atribuirá o valor à matriz fora do for?? com índice [2][2]?? como saberemos em que índice há um numero repetido para pedir novamente um número?Valeu!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Leonardo -- Postado Setembro 24, 2008 Denunciar Share Postado Setembro 24, 2008 Olá novamdente..Fiz semelhante ao raciocinio do usuk, mas o programa trava durante a execução...Onde posso estar errando??Ta aí o codigo...Um abraço!!!#include <stdlib.h> #include <stdio.h> #include <conio.h> main(){ int m[3][3],i,j,cont,aux,verif; verif=0; for (i=0;i<3;cont++){ for (j=0;j<3;cont++){ printf("Digite um numero: "); scanf("%d",&aux); for (i=0;i=3;i++){ for (j=0;j=3;j++) { if(m[i][j]==aux){ verif++; } } } if (verif>0){ printf("Numero já digitado"); }else{ m[i][j]=aux; } } } printf("Matrix 2 X 2 "); for (i=0;i<3;cont++){ printf("\n"); for (j=0;j<3;cont++){ printf("%4d",m[i][j]); } } system("pause"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Leonardo -- Postado Setembro 24, 2008 Denunciar Share Postado Setembro 24, 2008 Erro localizado. Coisa de iniciante... hehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Kadu -- Postado Setembro 25, 2008 Denunciar Share Postado Setembro 25, 2008 Primeiro erro ta no for for (i=0;i<3;cont++){voce está incrementado cont o i sempre vai ser 0 neste caso .... entendeu ?o segundo esta no segundo for for (j=0;j<3;cont++){ di novo você esta incrementado cont , tem que incrementar i++;outra coisa você tem que guardar o valor de cont tipo cont=cont +1; ou cont +=1; ou seja aqui ele vai contar de um a um o cont arruma isso depois se post ae se der mais erro..tem mais erros ....mas troca isso pra você ver se consegue axar os outros Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest --Leonardo --
Boa tarde pessoal!
Sou novo em C++ e tenho um exercício pra resolver, onde em uma matrix 3X3 preciso, após digitar o numero, verificar se este já existe na matriz, e só então esta será preenchida com o número digitado.
Alguma dica? Não sei nem por onde começar..
Um grande abraço!
Leonardo
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.