Ir ao conteúdo

Busca de elementos na matriz


rkdnp

Posts recomendados

Postado

Pessoal como posso efetuar busca de elmentos numa matriz bidimenssional, procurando pela internet apenas achei buscas sequenciais de vetores[n].

Problema: Preciso efetuar a busca de dois numeros ex: 5 e 2 numa matriz[x][y]

2 3 4

1 6 7

5 4 8

2 3 9

e retornar as posições de onde 5 e 2 estavam ou apenas mostrar na tela substuindo as células.

Postado

Você precisa fazer um for dentro de um for (2 for's concatenados) para percorrer a matriz até o final. Dentro desses for's, você precisa de um if pra comparar se o número é igual ao número desejado (5 ou 2). Se sim, você imprime o valor de onde você estiver na matriz, por exemplo:


int matriz[3][4];

for(j=0; j<4; j++){
for(i=0; i<3; i++){
if((matriz[i][j] == 5) || (matriz[i][j] == 2)){
printf("Elemento [%d][%d]", i, j);
}
}
}

Qualquer dúvida, só perguntar!

Postado

Alguem que possa ajudar?

Algo como:

printf("\n###################\n");
for(p1=0;p1<10;p1++)
{
for(p2=0;p2<10;p2++)
{
printf("%.f ",vet[p1][p2]);
if (vet[p1][p2] == 3);
printf("\n VETOR LIXO ACHADO NA POSICAO ELE SERA LIMPO %.f\n", p1, p2);
vet[p1][p2] = 0;
printf("\n AGORA LIXO SERA MODIFICADO, RECEBERA 0 %.f\n",vet[p1][p2]);


}
printf("\n");

}

Porém o problema agora é que não consigo utilizar laço FOR pois o printf está bagunçando toda estrutura.

Grato, Preciso realmente procurar os 3 e 9.

Necessito numa matriz[10][10] achar numeros 3 e 9, pegar suas posições e tratalas.

- Transformar 3 em 0.

- Desviar dos 9.

Postado

Creio que só rodando para você ver, queria saber se estou pelo caminho certo e como arrumar esse printf.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...