Ir para conteúdo
Fórum Script Brasil
  • 0

CONVERTENDO UMA MATRIZ BIDIMENSIONAL EM VETOR UNIDIMENSIONAL II


roccoC/C++

Pergunta

CONVERTENDO UMA MATRIZ BIDIMENSIONAL EM VETOR UNIDIMENSIONAL

Convertendo uma Matriz em Vetor e ordenando.

Talvez você já precisou imprimir em ordem uma Matriz Bidimensional do tipo float e

encontrou muitas dificuldades, más usando este método que aprendi

a utilizar torna se muito fácil a ordenação. Primeiro a Matriz Bidimensional é transformada em um vetor simples,

veja que ele foi declarado previamente com 24 posições. Dois laços for, sendo um para linhas e outro para colunas,

fazem a varredura em loop, e então atribuimos a mat_triz [] [], ao vetor vet[]; e incrementamos a variável h,

onde junto com o vetor receberão os valores transformados. Agora printf imprime o nosso vetor postiço do tipo float

que recebeu a matriz: mat_triz [] [];

A ordenação mesmo é pelo método QuickSort que atualmente é um dos métodos mais rápidos e eficientes dito pelos programadores

e este foi o usado para ordenação dos elementos do vetor. Essa funcao qsort();faz parte da biblioteca stdlib.h. e

Temos também a função compare do tipo int que permite comparar os valores no período de ordenação.

Copie, cole e compile:

http://codigosfontes-ccplus-plus.blogspot....onal-em_29.html

Editado por roccoC/C++
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

criei uma versão para fazer o mesmo, em C++ :)

#include <iostream.h>
#define Y 8
#define X 3

int main()
{
        int x,y,i;
        float vetor[Y*X];
        float matriz[Y][X] = {{10, 14.8, 10},
                              {9.5, 15.3, 8},
                              {8.6, 14, 21},
                              {9.7, 16.5, 19},
                              {6.1, 17.4, 27},
                              {7.7, 16.1, 3},
                              {8.3, 17, 7},
                              {7.3, 15.9, 33}};
//------------------------------------------------------------------------------
        cout << "COVERENTEDO MATRIZ BIDIMENSIONAL EM VETOR UNIDIMENSONAL" << endl;

        for( i = 0; i < Y*X; )
        {
         for ( y = 0; y < Y; y++ )
         {
          for ( x = 0; x < X; x++ )
          {
           vetor[i] = matriz[y][x];
           cout << "pos[" << i << "]:  " << vetor[i] << endl; //IMPRIME
           i++;
          }
         }
        }
        system("PAUSE");
        return 0;
}

não fiz o código com cores, se quiser é so implementar..

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, funcionou bem, continue, coloque a parte de ordenação.

Eu por enquanto só estou mechendo com Linguagem C, tenho muitos códigos postados aqui neste site,

e vou passar todos pro meu blog, que criei ontem a noite, o link tá aí em cima tah certo?

Abraços

Editado por roccoC/C++
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...