Ir ao conteúdo
  • Cadastre-se
MppS

Matriz 3x3 em ordem crescente

Recommended Posts

Fala galera! Tudo bem? 

 

Será que alguém pode ajudar? 

 

Estou treinando em um exercício e não consigo exibir a matriz 3x3 em ordem crescente! Não posso usar função, é na garra mesmo. Alguém sabe como criar esse trecho do código? 

 

Grata desde já! 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sou um iniciante em C, pelo que entendi eu fiz isso:

 

#include <stdio.h>
#include <stdlib.h>
 
int main(){
    int i, j, matriz = 0;
    for (i = 0 ; i <= 2 ; i++){ // 0 - 1 - 2 são equivalentes as linhas e colunas 3x3
        for(j = 0 ; j <= 2 ; j++){
            printf("%d\t", matriz);
            matriz++;
        }
        printf("\n");
    }
    printf("\n\n");
    system("pause");
}
 
Imprimindo dessa forma:
 
0   1   2
3   4   5
6   7   8

Compartilhar este post


Link para o post
Compartilhar em outros sites

@inuyasha_Obrigada pela força!

 

@vangodp Obrigada pela atenção desde já. A parte que preenche as linhas e colunas da matriz essa eu aprendi, são 2 for né, um para linha e outro para coluna, estive estudando e vi que tem que ordenar essa matriz, ordenar por vetores, seria ordenar primeiro as linhas e depois as colunas separadamente né e minha dúvida que ficou é ao invés de imprimir tipo as linhas primeiros e depois mostrar separado as colunas tudo isso em ordem crescente, não tem como mostrar a matriz completa em uma só imagem por exemplo? Não sei se deu para entender, tipo ao invés de mostrar 3 linhas só e depois mostrar 3 colunas só quero mostrar ela completa rsrs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

lógico que tem kkk

 

você pode mostrar ela completamente com um só loop for. HEIN! haha

Não sei si é isso que você quer porém, pense que toda sua vida você foi enganado kkk, não existe matrizes na programação. Por que eu falo isso? Por que a memória do computador ela linear e não bidimensional, então realmente não existe matriz na memória, e por esse motivo você pode usar um só loop for para imprimir uma matriz.

 

A forma de fazer é essa:

você cria a matriz lá bonitinha como você quiser e aprendeu normalmente, e na hora do loop for faça:

 

for ( i = 0; i<linha*coluna;i++   ){

printf("%d", matriz [0]);  //pode parecer meio loco porém funciona kkkk

}

 

...supondo que sua matriz fosse algo assim:

#define linhas 3

#define colunas 4

int matriz [linhas][colunas];

 

Prova aeow e você vai ver que uma matriz não passa de um vetor camuflado kkkk

 

o anterior vai imprimir dessa forma:

matriz[0][0],matriz[0][1],matriz[0][2],matriz[0][3],matriz[1][0],matriz[1][1],matriz[1][2],matriz[1][3],matriz[2][0],matriz[2][1],matriz[2][2],matriz[2][3]

 

porém tudo em linha com um unico loop.

 

ja para imprimir linearmente porém em colunas seria fazer

for( col = 0; i < colunas; i++ ){

for( lin = 0; x < linhas; x++ ){

printf( "%d", matriz[lin][col] );

...

 

Quando você imprime normalmente você faz:

for( lin = 0; x < linhas; x++ ){

for( col = 0; i < colunas; i++ ){

printf( "%d", matriz[lin][col] );

...

 

...é só mudar a ordem dos for

 

Sobre o:

...estive estudando e vi que tem que ordenar essa matriz, ordenar por vetores, seria ordenar primeiro as linhas e depois as colunas separadamente...

 

Acho que você se refere a:

for( lin = 0; x < linhas; x++ ){   for( col = 0; i < colunas; i++ ){      printf( "%d\n", matriz[lin][col] );   }   printf("\n");}

Para mostrar ela tal como:

1 2 3

4 5 6

7 8 9

.... Organizada não é isso?

 

Si não for isso, desenhe ela tal como fiz agora, desenhe os números tal como vão entrar, e como você quer eles depois no final, assim eu seu o que tenho que fazer.

 

tipo:

//entrada

2 3 5

7 3 6

 

//saida

2 3 3

5 6 7

 

//Ou

2 3 3 5 6 7

 

//ou

2

3

3

5

6

7

 

Ok? XD

 

Sorte!

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

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

×