Página principal de Grupos de Google
Ayuda | Acceder
Mensaje del debate Un conflicto interminable con la prueba de escritorio y el shellSort
El grupo al cual envías entradas es un grupo Usenet. Si envías mensajes a este grupo, cualquier usuario de Internet podrá ver tu dirección de correo electrónico
Tu respuesta no se ha enviado.
Tu entrada se ha publicado correctamente.
miguelcrux  
Ver perfil
 Más opciones 21 dic 2007, 12:43
De: miguelcrux <miguelc...@gmail.com>
Fecha: Fri, 21 Dec 2007 09:43:33 -0800 (PST)
Local: Vie 21 dic 2007 12:43
Asunto: Re: Un conflicto interminable con la prueba de escritorio y el shellSort
Guay!, mucho C

On 4 dic, 13:46, sAfOrAs <dsafor...@gmail.com> wrote:

> Como andan todos,  a continuación les presento este código que fue
> modificado en parte por unos amigos y yo, queriamos enternder el
> algoritmo, pese a que el c{odigo funciona perfectamente... Se trata de
> un ordenamiento basado en el método shell, pero con algunos artificios
> como el de la linea:   <code>for(inc = 1 ; inc<n;inc=inc*3+1);</code>,
> donde el inc incrementa acabada la ejecucion del algoritmo interno,
> pese a ello, al hacer la prueba de escritorio parece que el programa
> no tuviera un fin (se darán cuenta si lo hacen), o en todo caso a
> pique que no me estoy dando cuenta del error que estoy cometiendo, de
> todas maneras les paso el código para que lo revisen.
> la libreria está en los repositorios...

> #include<iostream>
> #include"leearreglo.h"
> using namespace std;
> #define largo 50
> void ordenShell(int A[],int n)
> {

>   int i, j, inc, temp;

>   for(inc = 1 ; inc<n;inc=inc*3+1);

>           while (inc > 0)
>           {
>                   for (i=inc; i < n; i++)
>                   {
>                                 j = i;
>                                 temp = A[i];
>                                 while ((j >= inc) && (A[j-inc] > temp))
>                                 {
>                                         A[j] = A[j - inc];
>                                         j = j - inc;
>                                 }

>                                 A[j] = temp;
>                   }

>                   inc/= 2;
>           }

> }

> void main ()
> {
>     int A[largo],n;
>         do{
>         cout<<"Cantidad de numeros a ingresar: ";cin>>n;
>                 if(n<=0||n>largo)
>                         cout<<"Debe ingresar un valor  > a 0 y < a "<<largo<<endl;
>         }while(n<=0||n>largo);

>     leeCadena(n,A);
>     ordenShell(A,n);
>     muestraCadena(n,A);

> }


    Responder al autor    Reenviar  
Debes registrarte antes de enviar mensajes.
Para enviar una entrada, antes deberás formar parte del grupo.
Antes de enviar entradas, actualiza tu alias en la configuración de la suscripción.
No dispones del permiso necesario para enviar entradas.

Crear un grupo - Grupos de Google - Página principal de Google - Condiciones del servicio - Política de privacidad
©2008 Google