Ir ao conteúdo
  • Cadastre-se

C Código que leia e ordena os valores numa matriz bidimensional


Matheus Penha

Posts recomendados

int main(void){

	int matriz[2][2];
	int l;
	int c;

	printf("Digite dezesseis valores: ");
	for(l=0; l<2; l++){
			for(c=0; c<2;c++){
				scanf("%d",&matriz[l][c]);

			}
			printf("\n");
	}
  return 0;
  
}

Não sei como ordenar esses valores em forma de uma matriz bidimensional com 2 linhas e 2 colunas, agradeço desde já.

 

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Os valores, 16 no seu caso, serão classificados e colocados na matriz, então tanto faz.

 

Note que 2 linhas e duas colunas tem então 4 elementos e não 16. Melhor considerar 4 x 4... Os elementos da matriz estarão lá na memória de todo modo, um depois do outro.

 

Agora a matriz é endereçada POR LINHA em C. Então você precisa definir o que é ordenar a matriz no seu caso...

1 2 3
4 5 6

ou

1 3 5
2 4 6

Certo?

 

Se for ordenar por linha então não precisa fazer nada: basta ordenar a partir do endereço inicial do vetor/matriz. Mas se vai ordenar por coluna o mais fácil é copiar a matriz para uma nova já na ordem e ir colocando os caras por coluna...

int    a[4][4];
int*   pA = a;

Se for ordenar por linha pode usar o ponteiro pA e classificar os 16 elementos de *(pA) até *(pA+15). Ou mesmo de *a até *(a+15) que é a mesma coisa

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...