Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Paul Young en 4 Marzo 2016, 01:29 AM

Título: bubble sort ascendente y descendente en un solo codigo
Publicado por: Paul Young en 4 Marzo 2016, 01:29 AM
pues q no se como hacer que funcione el codigo y que las dos opciones funcionen....haber si alguien me puede ayudar, mientras seguire googleando

int main()
{
//declarando arreglo y contadores
int arreglo[3];
int i,j,temp;

cout<<"Ingrese los numeros a ordenar \n"<<endl;
{
for (i = 0; i < 3; i++)
{
cout<<i+1<<" -> ";
cin>>arreglo[i];
cout<<endl;
}
}
for (i = 0; i < 3; i++)
{
for (j = i + 1; j < 3; j++)
{
if (arreglo[j] < arreglo[i])
{
temp=arreglo[j];
arreglo[j]=arreglo[i];
arreglo[i]=arreglo[j];
arreglo[i]=temp;
}
}
}
for (i = 0; i < 3; i++)
{
cout<<arreglo[i]<<" ";
}


//alreves
cout<<"Y para en orden desendente \n";
cout<<"Ingrese los numeros a ordenar\n";
{
for (i = 0; i > 3; i++)
{
cout << i + 1 << " -> ";
cin >> arreglo[i];
cout << endl;
}
}
for (i = 0; i > 3; i++)
{
for (j = i + 1; j > 3; j++)
{
if (arreglo[j] > arreglo[i])
{
temp = arreglo[j];
arreglo[j] = arreglo[i];
arreglo[i] = arreglo[j];
arreglo[i] = temp;
}
}
}
for (i = 0; i > 3; i++)
{
cout << arreglo[i] << "\n\n ";
}


return 0;
}
Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: engel lex en 4 Marzo 2016, 01:39 AM
lo unico que cambia en este caso es que el if sea mayor o menor, puedes usar un valor ejemplo

Código (cpp) [Seleccionar]
bool ascendente=false;

y luego en el if lo haces con and y or

Código (cpp) [Seleccionar]
if((ascendente && a>b) || (!ascendente && a<b))

el contenido del if es el mismo
Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: Paul Young en 4 Marzo 2016, 01:48 AM
Cita de: engel lex en  4 Marzo 2016, 01:39 AM
lo unico que cambia en este caso es que el if sea mayor o menor, puedes usar un valor ejemplo

Código (cpp) [Seleccionar]
bool ascendente=false;

y luego en el if lo haces con and y or

Código (cpp) [Seleccionar]
if((ascendente && a>b) || (!ascendente && a<b))

el contenido del if es el mismo

bueno si...eso ya esta ahi en el codigo que pegue...mas bien me refiero a que en el mismo programa lo pueda hacer

es decir que el programa los imprima de forma ascendente y despues de forma descendente
Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: engel lex en 4 Marzo 2016, 01:57 AM
simplemente lo imprimes primero normal después de organizarlo y luego al contrario
Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: Paul Young en 5 Marzo 2016, 02:03 AM
pues nada que lo logro.... :-[ :-[ :-[

Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: engel lex en 6 Marzo 2016, 01:54 AM
que resultado obtienes?
Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: Paul Young en 7 Marzo 2016, 00:50 AM
Cita de: engel lex en  6 Marzo 2016, 01:54 AM
que resultado obtienes?

Lo que no entiendo es que codigo debo poner para imprimirlo inverso...

osea asi quedaria para ordenarlo de una forma...
int main()
{
//declarando arreglo y contadores
int arreglo[3];
int i,j,temp;

cout<<"Ingrese los numeros a ordenar \n"<<endl;
{
for (i = 0; i < 3; i++)
{
cout<<i+1<<" -> ";
cin>>arreglo[i];
cout<<endl;
}
}
for (i = 0; i < 3; i++)
{
for (j = i + 1; j < 3; j++)
{
if (arreglo[j] < arreglo[i])
{
temp=arreglo[j];
arreglo[j]=arreglo[i];
arreglo[i]=arreglo[j];
arreglo[i]=temp;
}
}
}
for (i = 0; i < 3; i++)
{
cout<<arreglo[i]<<" ";
}


Pero que como hacerle para que en ese mismo programa tambien lo imprima inverso el arreglo que declare...
Título: Re: bubble sort ascendente y descendente en un solo codigo
Publicado por: engel lex en 7 Marzo 2016, 16:15 PM
Código (cpp) [Seleccionar]
for (i = 0; i < 3; i++)
{
 cout<<arreglo[i]<<" ";
}
for (i = 0; i < 3; i++)
{
  cout<<arreglo[2-i]<<" ";
}