roccoC/C++ Posted November 27, 2012 Report Share Posted November 27, 2012 (edited) CONVERTENDO UMA MATRIZ BIDIMENSIONAL EM VETOR UNIDIMENSIONALConvertendo uma Matriz em Vetor e ordenando.Talvez você já precisou imprimir em ordem uma Matriz Bidimensional do tipo float eencontrou muitas dificuldades, más usando este método que aprendia 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. eTemos 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 Edited December 1, 2012 by roccoC/C++ Quote Link to comment Share on other sites More sharing options...
0 roccoC/C++ Posted November 29, 2012 Author Report Share Posted November 29, 2012 http://codigosfontes-ccplus-plus.blogspot....nsional-em.html Quote Link to comment Share on other sites More sharing options...
0 roccoC/C++ Posted November 29, 2012 Author Report Share Posted November 29, 2012 (edited) clique neste link e veja:Convertendo uma matriz bidimensional em vetor unidimensional II http://codigosfontes-ccplus-plus.blogspot....onal-em_29.html Edited November 29, 2012 by roccoC/C++ Quote Link to comment Share on other sites More sharing options...
0 marcoa Posted November 29, 2012 Report Share Posted November 29, 2012 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.. Quote Link to comment Share on other sites More sharing options...
0 roccoC/C++ Posted November 29, 2012 Author Report Share Posted November 29, 2012 (edited) 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 Edited November 29, 2012 by roccoC/C++ Quote Link to comment Share on other sites More sharing options...
0 marcoa Posted November 29, 2012 Report Share Posted November 29, 2012 ogrigado, c++ tambem é uma boa linguagem, igual c, porem mais prático!legal, continue com o blog :) Quote Link to comment Share on other sites More sharing options...
0 roccoC/C++ Posted November 29, 2012 Author Report Share Posted November 29, 2012 Tem razão é bem mais prática do que linguagem c, e mais portátil.pretendo continuar com o blog sim, nem que sirva só pra mim ver, rsrs.Abraços Quote Link to comment Share on other sites More sharing options...
Question
roccoC/C++
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
Edited by roccoC/C++Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.