por fa ayudenme hacer el de ordenacion en shell en c

fabiola
01 de Mayo del 2004
hola amigos necesito de ayuda por fa ayudenme a realizar el metodo de ordenacion en shell en C.

se los agradecere de todo corazon.


noel solw
01 de Mayo del 2004
Hace unos dias envie el programa de Shell a alguien en este foro, escrito en C++. Creo que no tendras dificultades en transformarlo para que corra en C.

nacho
01 de Mayo del 2004
Hola, solo dime el pseudocodigo para hacerlo en C o en C++ ok.

ned
01 de Mayo del 2004
hola fabiola
muy lindo tu nick

si puedes enviame el fuente para analizarlo te lo agradeceria mucho
gracias.
ned

luis miguel
01 de Mayo del 2004
/*Metodo de Ordenacion por Shell*/

#include <stdio.h>
#include "conio.h"
#define N 100/*Maximo de elementos*/
main()
{

int a[N];/*declaracion del arreglo*/
int i, j, k, aux, inc, n;

clrscr();
printf("Introduzca el tamaño del vector n n");
scanf("%d", &n);/*tama¤o del arreglo*/

printf("n Introduce los elementos n");
for (i=1; i<=n; i++)
scanf("%d", &a[i]);/*lee y almacena los elementos en el arreglo*/

inc=n/2;/*obtiene el valor de incremento para empezar a ordenar*/
while (inc>0) {
for (i=inc+1; i<=n; i++) {
j=i-inc;/*obtiene la posicion inicial del arreglo*/
while (j>0){
if (a[j] > a[j+inc]){/*obtiene el mayor de los elementos*/
aux=a[j];/*alamacena en la variable auxiliar aux el elemento mayor*/
a[j]=a[j+inc];/*copia el elemento menor a la posiscion en donde se encontraba el elemento mayor*/
a[j+inc]=aux;/*copia elemento mayor contenido en aux a la posicion del arreglo en donde se encontraba el elemento menor*/
j=j-inc;/*decrementa la posicion del arreglo*/
}
else
j=0;
}
}
inc=inc/2;/*obtiene el valor de incrementos para empezar a ordenar*/
}

printf("t El vector ordenado es n");
for (i=1; i<=n; i++)
printf("%d ", a[i]);/*Imprime el arreglo ordenado*/
getch();
return 0;
}


bernabex
01 de Mayo del 2004
ya lo cre y tengo el codigo que corre en Borland c++ 5.0,5.1 y 5.2 en cpp si lo quieres amiga fabiola con gusto te mado el codigo a tu correo solamente mandame tu dirrecion y te lo envio a las 5:00pm que volvere a conectarme 1/04/2004 si quieres envia,e un mensaje a mi correo sale espero poderte ayudar desde aqui