Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: rembrandt85 en 22 Febrero 2017, 17:29 pm



Título: como invertir un vector
Publicado por: rembrandt85 en 22 Febrero 2017, 17:29 pm
buenas tardes NO soy bueno programando la verdad NO entiedo mucho y este programa necesito que imprima de menor a mayor pero son solo for algo asi como 4,6,5,-7,10,14

Código
  1. //librerias
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <stdlib.h>
  5.  
  6. int i, j;
  7. int vec [10]={4,6,5,-7,10,20,-30,60,25,15};
  8.  
  9. void imprimirinvertido();
  10.  
  11.  
  12. {
  13.  imprimirinvertido();
  14.  
  15.  getch();
  16.  return 0;
  17. }


Título: Re: como invertir un vector
Publicado por: AnthonyS en 24 Febrero 2017, 14:38 pm
Buenos días, una forma sencilla de hacer ese algoritmo seria :

1º Ordenando el vector.
2º Mostrar los elemenos ordenados.


Codigo:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int i,j,aux,vec[10]={4,6,5,-7,10,20,-30,60,25,15};
  7.    for(i = 0;i<10;i++) //Repetira el bucle interno 10 veces
  8.    {
  9.        for(j = 0;j<10;j++) //Este bucle posicionara al elemento i en el lugar que le corresponderia en la iteracion i.
  10.        {
  11.            if(vec[i]<vec[j]) //Hara un cambio de valores para ir dejando en i elemento menor en la posicion que le corresponde
  12.            {
  13.               aux = vec[i];
  14.               vec[i] = vec[j];
  15.               vec[j] = aux;
  16.            }
  17.        }
  18.    }
  19.    for(i = 0;i<10;i++)        printf(" %d ",vec[i]); //Muestra
  20.    return 0;
  21. }
  22.  
  23.  


Hay varios algoritmos de ordenación,he utilizado el que mejor se suele entender.
Un saludo.