Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: chaarlyyyy en 26 Mayo 2010, 18:33 pm



Título: algoritmo de ordenamiento¿como los uno en un menu principal?
Publicado por: chaarlyyyy en 26 Mayo 2010, 18:33 pm
hola amigos lo que sucede es que tngo los algoritmos de burbuja,seleccion e insercion en C pero los tngo por separado y lo que necesito es unirlos en un menu es decir me de la opcion de q tipo de algoritmo de ordenamiento usare xfa si pueden ayudarme

este es el codigo q tngo esta claro q me falta el menu principal y el traspaso de parametros para el arreglo a[] porfa ayudenme

#include<stdio.h>
#include<conio.h>
void burbuja(a[],int n)
{
int i,j,aux;
for(i=1;i<n;i++)
 for(j=o;j<n-1;j++)
  {
  if(a[j]>a[j+1])
   {
   aux=a[j];
   a[j]=a[j+1];
   a[j+1]=aux;
   }
  }
}

void insercion((a[],int n)
{
int i,j,aux;
for(i=1;i<n;i++)
 {
 j=i;
 aux=a;
 while(j>0 && aux < a[j-1])
  {
  a[j]=a[j-1];
  j--;
  }
  a[j]=aux;
 }
}

void seleccion(a[],int n)
{
int i,j,indicemenor,aux;
for(i=0;i<n-1;i++)
 {
 indicemenor=i;
 for(j=i+1;j<n;j++)
  if(a[j]<a[indicemenor])
  indicemenor=j;
   if(i !=indicemenor)
   {
    aux=a;
    a=a[indicemenor];
    a[indicemenor]=aux;
   }
  }
}


Título: Re: algoritmo de ordenamiento¿como los uno en un menu principal?
Publicado por: 08l00D en 26 Mayo 2010, 21:38 pm
Lo que vos queres es que te den el codigo hecho, ya posteaste lo mismo y te dieron la respuesta que necesitas.


Título: Re: algoritmo de ordenamiento¿como los uno en un menu principal?
Publicado por: @synthesize en 26 Mayo 2010, 23:13 pm
Te escribo un pequeño código sobre como usar un switch.

Código
  1.  
  2. int pedirnum();  //Prototipo de función
  3.  
  4. int main(void)
  5. {
  6.    int op =pedirnum();
  7.    do
  8.    {
  9.        switch(op)
  10.        {
  11.            case 0: //código 0; break;
  12.            case 1: //código 1; break;
  13.            case 2: //código 2; break;
  14.            default //código default; break;
  15.        }
  16.    } while (op!=0);  //mientras que op sea distinto que 0
  17.    return 0;
  18. }
  19.  
  20. int pedirnum()
  21. {
  22.    int op2;
  23.  
  24.    fprintf(stdout, "Introduce un número\n");
  25.    do
  26.    {
  27.        fflush(stdin); //No es buenos usar fflush, pero para que te hagas una idea lo uso
  28.        scanf("%d", &op2);
  29.    } while (op2<0 || op2>=3); //Mientras que op2 sea menor que 0 o mayor o igual que 3
  30.  
  31.    return op2;
  32. }
  33.  
  34.  

Ahora puedes organizar tu las funciones para organizar los elementos, según el número recogido por la función pedirnum dentro de switch.