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

15 comentarios sobre “Código C++ – Ordenamiento Shell

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

    1. #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);
      }

  2. 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??

    1. yo se que pasa
      si te fijas al principo del programa tiene una libreria que se llama como enpieza el segundo programa, el segundo programa lo deves de guardar como libreria en la misma carpeta donde guardaste el programa principal, cuando copies el programa principal no copies la segunda parte y ya funciona normal

  3. 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?

Deja tu comentario

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