Consejos para este programa de c++

Como dice mi pregunta espero me puedan dar algún consejito o me ayuden ya que es lo único que me falla

#include <conio.h>
#include <stdio.h>

int cargar ();
int ordenar ();
int imprimir ();

int arreglo [10];

int main ()
{
cargar ();
ordenar ();
imprimir ();
getch ();
return 0;
}

int cargar()//ingresamos los valores al arreglo
{
int v;
for (int f=0; f<10; f++)
{
printf ("Ingrese el valor ----->");
scanf ("%d", &v);//sacnf("%d", arreglo[f]);
arreglo [f] = v;
}
return 0;
}

int ordenar ()
{
int aux;
for (int i=0; i<10; i++ )
{
for (int f=1; f<10; f++)
{
if (arreglo [f] > arreglo [f+1])
{
aux = arreglo [f];
arreglo [f] = arreglo [f+1];
arreglo [f+1] = aux;
}
}
}
return 0;
}

int imprimir ()
{
for (int f=0; f<10; f++)
{
printf ("-%d", arreglo [f]);
}
}

como podria o como poder quitar el ciclo for y ponerle el ciclo while

1 Respuesta

Respuesta
1

La función ordenar esta mal. Debería ser así. De la otra manera no estas usando la i para nada

int ordenar ()
{
int aux;
for (int i=0; i<10; i++ )
{
for (int f=i+1; f<10; f++)
{
if (arreglo [i] > arreglo [f]) // if (arreglo [f] > arreglo [f+1])
{
aux = arreglo [f];           // aux = arreglo [f];
arreglo [f] = arreglo [i]; // arreglo [f] = arreglo [f+1];
arreglo [i] = aux;          //  arreglo [f+1] = aux;
}
}
}
return 0;
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas