| |
Somos Código Libre - C++ |
chevere amigo socra, aun es tiempo, pasala nomás, aunque el circulo vicioso
ya fue corregido.
El día 21/12/07, .:SMA:. <sma_...@hotmail.com> escribió:
> pues tengo otro codigo y otra prueba de escritorio k no lleva por decirlo
> asi a un bucle sin fin, y lo comprobado, si lo deceas pasame el dato igual
> pa safi, saludos
> **
> http://www.cifras.com.br/midis/28953.mid
> > Date: Fri, 21 Dec 2007 09:43:33 -0800
> > Subject: Re: Un conflicto interminable con la prueba de escritorio y el
> shellSort
> > From: miguelc...@gmail.com
> > To: somoscodigolibre@googlegroups.com
> > 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);
> > > }