Hola a todos
Es mi primer mensaje, espero no hacerlo mal xD
Bueno, ahi va el problema que me ha surgido:
Me han mandado hacer un programa al que le tenemos que introducir un numero indefinido de numeros y este te devolvera el vector ordenado por el metodo que escribamos, por ej, lo he echo con burbuja, hasta ahi bien (o eso creo), el problema es que lo tenemos que introducir por linea de comandos y el programa nos tiene que devolver el vector ordenado por linea de comandos tambien.
Por ejemplo, si queremos que nos lo ordene por burbuja, en linea de comandos deveremos introducir el metodo deseado y el vector
Ejemplo:
Programa.exe burbuja 3 2 1
A lo que el programa nos tiene que devolver:
1 2 3
En el programa que he echo yo el vector que devuelve es una agrupacion de numeros a los que no le veo el mas minimo sentido
Pues ahi va mi programa, si alguien puede decirme donde esta el fallo/s, me sera de gran ayuda
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void OrdenaBurbuja (float v[], int n)
{
int t, h, e;
for (h=1; h<n; h++)
{
for(e=0; e<n;e++)
{
if (v[e]>v[e+1])
{
v[e+1] = t;
v[e] = v[e+1];
t= v[e];
}
}
}
}
void ImprimirVector(float v[], int n)
{
int i;
for (i=0; i<n; i++)
{
printf("%f ", v[i]);
}
}
int main(int argc, char *argv[])
{
if(strcmp(argv[1], "burbuja")==0)
{
int n, i, m=2, o;
float *v;
{
n=argc-2;
v =(float *)malloc(n*sizeof(float));
for (i=0; i<n; i++)
{
v[i] = atof(argv[i+2]);
}
}
OrdenaBurbuja(v, n);
ImprimirVector(v, n);
}
system("PAUSE");
return 0;
}