Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - chelito033

#1
Programación C/C++ / DUDA CON MI PROGRAMA EN C
21 Agosto 2013, 01:20 AM

/*PROGRAMA DEL METODO DE ORDENAMIENTO DE PAR - NON*/

#include <stdio.h>
/*#include <iostream.h>*/
#include <conio.h>

#define N 100

void ordIntercambio (int a[], int n);
void entradaLista (int a[], int n);
void imprimirLista (int a[], int n);

int main()
{
int n;
int v[N];

do {
printf("\n\nIntroduzca el numero de elementos:  ");
scanf("%d", &n);
   } while ((n < 1) && (n > N));

entradaLista(v, n);
/* muestra lista original */
printf("\n\nLista original de %d elementos", n);

imprimirLista(v, n);
/* ordenación ascendente de la lista */

ordIntercambio(v, n);

printf("\n\nLista ordenada de %d elementos", n);

imprimirLista(v, n);


return 0;
}

void ordIntercambio (int a[], int n)
{
int i, j,r,aux;
/* se realizan nâˆ'1 pasadas */
/* a
  • , ... , a[n-2] */
    r=(n+1)/2;
    for (j = 1 ; j<=r ; j++){
    /* coloca mínimo de a[i+1]...a[n-1] en a */
       i=0;
       while(i<n)   {

                if (a > a[i+1])
                   {

                      aux = a;
                      a = a[i+1];
                      a[i+1]= aux ;
                      i=i+2;
                   }

                else
                      i=i+2;
                }

       i=1;
       while(i<n){
                if(a>a[i+1])
                   {
                      aux=a;
                      a=a[i+1];
                      a[i+1]=aux;
                      i=i+2;
                   }

                else
                      i=i+2;
                }
                      }
    }




    void imprimirLista (int a[], int n)
    {
    int i;


       for (i = 0 ; i < n ; i++)
       {
          char c=0;
          c = (i%10==0)?'\n':' ';
          printf("%c%d", c, a);
       }

    }

    void entradaLista (int a[], int n)
    {
    int i;
    printf("   \n Entrada de los elementos\n\n\n");
    for (i = 0 ; i < n ; i++)
    {
    printf("   a[%d] = ",i+1);
    scanf("%d", a+i);
    }
    }



    MI DUDA QUERIDOS AMIGOS ES EL DE QUERER SABER COMO PUEDO IMPRIMIR CADA ITERACION QUE HACE EL MÉTODO, HASTA AHORA SOLO HE CONSEGUIDO QUE ME DE EL RESULTADO FINAL...EL METODO ES DE ORDENAMIENTO PAR Y NON.
    ESPERO Y PUEDAN AYUDARME...