Foro de elhacker.net

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

Código:
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
  1. bool ascendente=false;

y luego en el if lo haces con and y or

Código
  1. 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
lo unico que cambia en este caso es que el if sea mayor o menor, puedes usar un valor ejemplo

Código
  1. bool ascendente=false;

y luego en el if lo haces con and y or

Código
  1. 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
que resultado obtienes?

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

osea asi quedaria para ordenarlo de una forma...
Código:
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
  1. for (i = 0; i < 3; i++)
  2. {
  3.  cout<<arreglo[i]<<" ";
  4. }
  5. for (i = 0; i < 3; i++)
  6. {
  7.  cout<<arreglo[2-i]<<" ";
  8. }