Ir ao conteúdo

Posts recomendados

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

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

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!