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);> >> > }> > _________________________________________________________________
Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar siempre a la última
http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaint...