Gmail Calendar Docs Reader La Web Más »
Grupos visitados recientemente | Ayuda | Acceder
Página principal de Grupos de Google
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.
 
De:
Para:
Cc:
Seguimiento:
Añadir Cc | Añadir seguimiento | Editar asunto
Asunto:
Validación:
Con fines de verificación, escribe los caracteres que veas en la imagen siguiente o los números que escuches haciendo clic en el icono de accesibilidad. Escucha y escribe los números que oyes.
 
sAfOrAs  
Ver perfil  
 Más opciones 4 dic 2007, 13:46
De: sAfOrAs <dsafor...@gmail.com>
Fecha: Tue, 4 Dec 2007 10:46:21 -0800 (PST)
Local: Mart 4 dic 2007 13:46
Asunto: Un conflicto interminable con la prueba de escritorio y el shellSort
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);

}


    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
©2010 Google