baraja
Hola, saludos a todos.
Alguien me podría decir donde tengo el error en el siguiente código. Se adjunta
código.
Si le ingreso los elementos
5
4
3
2
1
El programa me arroja el siguiente resultado.
11
22
33
44
55
/*ORDENACION DE UN VECTOR POR MEDIO DEL METODO DE INSERCION DIRECTA O
BARAJA.*/
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
int a[20],i,j,auxiliar,bandera,tama;
cout<<"Ingrese el tama¤o del vector---> ";
cin>>tama;
cout<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elemento "<<i+1<<": ";
cin>>a[i];
}
cout<<endl<<endl<<endl<<"Presione una tecla para continuar...";
getch();
//AQUI EMPIEZA EL MÉTODO DE LA BARAJA.
for(j=1; j<tama; j++)
{
i=j;
auxiliar=a[j];
bandera=0;
while((i > 0) && (bandera==0))
{
if(a[i-1] > auxiliar)
{
a[i]=a[i-1];
i--;
}
else
bandera=1;
}
a[i]=auxiliar;
}
//AQUI TERMINA EL MÉTODO DE LA BARAJA.
clrscr();
cout<<"El vector ordenado es:"<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elementos "<<i+1<<a[i]<<endl;
}
cout<<endl<<endl<<endl<<"Presione una tecla para terminar...";
getch();
}
Alguien me podría decir donde tengo el error en el siguiente código. Se adjunta
código.
Si le ingreso los elementos
5
4
3
2
1
El programa me arroja el siguiente resultado.
11
22
33
44
55
/*ORDENACION DE UN VECTOR POR MEDIO DEL METODO DE INSERCION DIRECTA O
BARAJA.*/
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
int a[20],i,j,auxiliar,bandera,tama;
cout<<"Ingrese el tama¤o del vector---> ";
cin>>tama;
cout<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elemento "<<i+1<<": ";
cin>>a[i];
}
cout<<endl<<endl<<endl<<"Presione una tecla para continuar...";
getch();
//AQUI EMPIEZA EL MÉTODO DE LA BARAJA.
for(j=1; j<tama; j++)
{
i=j;
auxiliar=a[j];
bandera=0;
while((i > 0) && (bandera==0))
{
if(a[i-1] > auxiliar)
{
a[i]=a[i-1];
i--;
}
else
bandera=1;
}
a[i]=auxiliar;
}
//AQUI TERMINA EL MÉTODO DE LA BARAJA.
clrscr();
cout<<"El vector ordenado es:"<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elementos "<<i+1<<a[i]<<endl;
}
cout<<endl<<endl<<endl<<"Presione una tecla para terminar...";
getch();
}
jejejejej. era una tarugada. Ahi va la corrección.
/*ORDENACION DE UN VECTOR POR MEDIO DEL METODO DE INSERCION DIRECTA O
BARAJA.*/
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
int a[20],i,j,auxiliar,bandera,tama;
cout<<"Ingrese el tama¤o del vector---> ";
cin>>tama;
cout<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elemento "<<i+1<<": ";
cin>>a[i];
}
cout<<endl<<endl<<endl<<"Presione una tecla para continuar...";
getch();
for(j=1; j<tama; j++)
{
i=j;
auxiliar=a[j];
bandera=0;
while((i > 0)&&(bandera==0))
{
if(a[i-1] > auxiliar)
{
a[i]=a[i-1];
i--;
}
else
bandera=1;
}
a[i]=auxiliar;
}
clrscr();
cout<<"El vector ordenado es:"<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elementos "<<i+1<<": "<<a[i]<<endl;
}
cout<<endl<<endl<<endl<<"Presione una tecla para terminar...";
getch();
}
Gracias y suerte.
/*ORDENACION DE UN VECTOR POR MEDIO DEL METODO DE INSERCION DIRECTA O
BARAJA.*/
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
int a[20],i,j,auxiliar,bandera,tama;
cout<<"Ingrese el tama¤o del vector---> ";
cin>>tama;
cout<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elemento "<<i+1<<": ";
cin>>a[i];
}
cout<<endl<<endl<<endl<<"Presione una tecla para continuar...";
getch();
for(j=1; j<tama; j++)
{
i=j;
auxiliar=a[j];
bandera=0;
while((i > 0)&&(bandera==0))
{
if(a[i-1] > auxiliar)
{
a[i]=a[i-1];
i--;
}
else
bandera=1;
}
a[i]=auxiliar;
}
clrscr();
cout<<"El vector ordenado es:"<<endl<<endl;
for(i=0;i<tama;i++)
{
cout<<"Elementos "<<i+1<<": "<<a[i]<<endl;
}
cout<<endl<<endl<<endl<<"Presione una tecla para terminar...";
getch();
}
Gracias y suerte.
estas mal en la impresion date cuenta que si estas utilizando la variable j tienes que imprimir j ya no le asignes a j el valor de i esta de mas en el primero for es de i=2 hasta n .
