• Viernes 8 de Noviembre de 2024, 10:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - tomuer01

Páginas: [1]
1
C/C++ / Ayuda Con Codigo En C++(ordenamiento)
« en: Jueves 5 de Julio de 2007, 23:38 »
Favor revisen este codigo...tengo errores con el ordenamiento de Seleccion e Insercion...ayudenme a solucionarlo...
Gracias...

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


#define N 10


/*BURBUJA*/
void burbuja(int ARREGLO[N])
{

int x;
int z;
int aux;

x = 0;

  while(x < N)
  {
     z = N-1;

     while(z >= 0)
     {

       if(ARREGLO[z] < ARREGLO[z - 1])
       {
     aux = ARREGLO[z];
     ARREGLO[z] = ARREGLO[z - 1];
     ARREGLO[z - 1] = aux;
       }

       z--;
     }

     x++;
   }
}

/*INSERCION*/
void insercion(int ARREGLO[N])
{

   int x;
   int z;
   int aux;

   int b;
   /*int flag;*/

   for(x = 1; x < N; x++)
   {
       aux = ARREGLO
  • ;

       z = x - 1;
 /*      flag = 0;*/

       while(b == 0 && z >= 0)
       {

       if(aux < ARREGLO[z])
       {
          ARREGLO[z + 1] = ARREGLO[z];
          z--;
       }
       else

          b = 1;
       }

       ARREGLO[z + 1] = aux;
   }
}


/*SELECCION*/
void seleccion(int ARREGLO[N])
{

     int i;
     int j;
     int min;

     int aux;

     i = 0;

     while(i < N)
     {
   min = i;
   j = i + 1;

   while (j < N)
   {
       if(ARREGLO[j] < ARREGLO)
       {
         min = j;
         aux = ARREGLO;
         ARREGLO = ARREGLO[min];
         ARREGLO[min] = aux;
       }

       j++;
   }

   i++;
     }
}


int main()
{
   int ARREGLO[N], COPIA[N];
   int i;
   char op;

   printf("Ingreso de numeros...\n");
   for(i=0; i<N; i++)
   {
      printf("Numero %d = ", i+1);
      scanf("%d", &ARREGLO);
   }

   for(;;)
   {
     clrscr();
     printf(" ***METODOS DE ORDENAMIENTO***\n\n");
     printf(" 1.- Metodo Burbuja.\n");
     printf(" 2.- Metodo Insercion.\n");
     printf(" 3.- Metodo Seleccion.\n");
     printf(" 4.- Salir.\n");
     printf(" \n\nEscoje tu opcion: ");

     op = getche();

     if(op>='1' && op<='3')
     {
       for(i=0; i<N; i++)
     COPIA = ARREGLO;
     }

     if(op=='1')
       burbuja(COPIA);
     else if(op=='2')
       insercion(COPIA);
     else if(op=='3')
       seleccion(COPIA);
     else if(op=='4')
       break;
     else
     {
       printf("\nOpcion invalida");
       getch();
     }

     if(op>='1' && op<='3')
     {
       printf("\n\nArreglo original: ");
       for(i=0; i<N; i++)
     printf("%d  ", ARREGLO);

       printf("\nArreglo ordenado: ");
       for(i=0; i<N; i++)
     printf("%d  ", COPIA);

       getch();
     }
   }

   return 0;
}

Páginas: [1]