como invertir un vector

Iniciado por rembrandt85, 22 Febrero 2017, 17:29 PM

0 Miembros y 1 Visitante están viendo este tema.

rembrandt85

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

//librerias
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int i, j;
int vec [10]={4,6,5,-7,10,20,-30,60,25,15};

void imprimirinvertido();


{
 imprimirinvertido();

 getch();
 return 0;
}

AnthonyS

Buenos días, una forma sencilla de hacer ese algoritmo seria :

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


Codigo:


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,aux,vec[10]={4,6,5,-7,10,20,-30,60,25,15};
    for(i = 0;i<10;i++) //Repetira el bucle interno 10 veces
    {
        for(j = 0;j<10;j++) //Este bucle posicionara al elemento i en el lugar que le corresponderia en la iteracion i.
        {
            if(vec[i]<vec[j]) //Hara un cambio de valores para ir dejando en i elemento menor en la posicion que le corresponde
            {
               aux = vec[i];
               vec[i] = vec[j];
               vec[j] = aux;
            }
        }
    }
    for(i = 0;i<10;i++)        printf(" %d ",vec[i]); //Muestra
    return 0;
}




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