The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Código C++ – Ordenamiento Shell


//Ordenamiento Shell
//Codificado por sAfOrAs
#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);
  
}
#include<iostream>
using namespace std;
void leeCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<"Ingresa numero "<<i+1<<": ";
		cin>>n[i];
	}
	
}

void muestraCadena(int cant,int n[])
{
	int i;
	for(i=0;i<cant;i++)
	{
		cout<<n[i]<<endl;
	}
}
Anuncios

13 Respuestas a “Código C++ – Ordenamiento Shell

  1. Juan sabino flores agosto 20, 2016 en 12:30 am

    Tiene un error. No asigna el valor de la variable temp a la posición del arreglo que debe ir

  2. grober julio 2, 2015 en 8:47 pm

    funciona correctamente si acomodamos bien las 2 funciones que tiene. pero lo que no entiendo es: #include “leearreglo.h” como funciona???

    • Anónimo septiembre 13, 2015 en 8:08 pm

      #include
      using namespace std;
      #define largo 50
      void ordenShell(int A[],int n)
      {
      int i, j, inc, temp;
      for(inc = 1 ; inc 0)
      {
      for (i=inc; i = inc) && (A[j-inc] > temp))
      {
      A[j] = A[j – inc];
      j = j – inc;
      }

      A[j] = temp;
      }
      inc/= 2;
      }
      }
      void leeCadena(int cant,int n[])
      {
      int i;
      for(i=0;i<cant;i++)
      {
      cout<<"Ingresa numero "<<i+1<>n[i];
      }

      }

      void muestraCadena(int cant,int n[])
      {
      int i;
      for(i=0;i<cant;i++)
      {
      cout<<n[i]<<" ";
      }
      }

      int main ()
      {
      int A[largo],n;
      do{
      cout<>n;
      if(nlargo)
      cout< a 0 y < a "<<largo<<endl;
      }while(nlargo);

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

  3. Anónimo noviembre 8, 2013 en 12:38 am

    porq no respondess dudas

  4. programador peketon xD octubre 16, 2013 en 7:06 pm

    Sii, marca error al implementarlo en Dev C++ por que, otra cosa, por que cortas la linea de programación e inicias una vez mas con iostream dentro del mismo programa eso no lo entendí, despues de la linea 47??

  5. Isela Rosales Almazan junio 15, 2013 en 1:43 pm

    hola cuando lo copio y lo pego a c++ me marca error por que ayudenme porfavor

    • fani noviembre 18, 2013 en 7:51 pm

      Pues vele aprendiendo en vez de esperar que COPIANDO y PEGANDO queden los programas!!

      • Anónimo febrero 23, 2017 en 7:18 pm

        Eso es cierto programar consiste en crear no en copiar y pegar

  6. Anónimo junio 3, 2013 en 10:09 pm

    por que marca error al ejecutarlo en dev cc++

    • edgar fernando albañil noviembre 21, 2013 en 6:17 pm

      ejecuto el programa en dev c++ y me sale error

  7. Manuel enero 15, 2013 en 7:48 pm

    Buena tarde
    Soy novato en el uso de pcbsd 9.1, lo he instalado en una lap top gateway ID59C, particionando el disco duro, se instalo muy bien pero al momento de usar la funcion inalambrica simplemente no funciona, de igual forma lo intente con un smartphone pero ni siguiera lo detecto.
    Podrian sugerir alguna forma de hacer que funcione el inalambrico?

  8. omar junio 13, 2012 en 6:50 pm

    HOLA AMIGO NO SE SI ME PUEDAS A IMPLEMENTAR EL MÉTODO DE SELECCIÓN EN MI PROGRAMA

  9. dudas diciembre 2, 2011 en 2:45 am

    Oye porque pones esta linea
    for(inc = 1 ; inc<n;inc=inc*3+1);
    exactamente porq multiplicas por tres el inc y luego le sumas 1????

No te quedes callado. Pregunta, Comenta, Comparte, Sígueme, Suscríbete, Déjame tu opinión... Soy Beastieux Zeroo...

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: