ORDENAMIENTO
Es la operación de arreglar los registros de una tabla en algún orden secuencial de
acuerdo a un criterio de ordenamiento. El ordenamiento se efectúa con base en el valor
de algún campo en un registro. El propósito principal de un ordenamiento es el de
facilitar las búsquedas de los miembros del conjunto ordenado.
El ordenar un grupo de datos significa mover los datos o sus referencias para que
queden en una secuencia tal que represente un orden, el cual puede ser numérico,
alfabético o incluso alfanumérico, ascendente o descendente.
no olviden dejar sus comentarios, gracias!!
código:
#include<stdio.h>
#include<conio.h>
int v[100000],n;
void num_ordenados()
{
int valor_temporal;
for (int q=0;q<n-1;q++)/*declaramos dos ciclos para poder ir comparando 0-1,1-2,2-3,...hasta n.
{
for (int w=q+1;w<n;w++)
{
if (v[w]<v[q])
{
valor_temporal=v[w];/*se asigna el valor encontrado*/
v[w]=v[q];/*ahora el valor de v[q] toma el de v[w] para poder compararlo de nuevo con el siguiente numero*/
v[q]=valor_temporal;
}
}
}
}
void orden()/*para poder imprimirlos en orden*/
{
for (int t=0;t<n;t++)
{
printf("\t%d\n",v[t]);
}
}
main()
{
printf("cant. de numeros: ");
scanf("%d",&n);
for (int i=0; i<=n-1;i++)
{
printf("\ningrse numero %d: ",i+1);
scanf("%d",&v[i]);
}
printf("\norden en el que fueron ingresado:\n\n");
orden();/*llamamos nuetra operacion para imprimirlo con el orden en el que fueron ingresados*/
num_ordenados();/*luego ya con el metoo de seleccion*/
printf("\n");
printf("\nmetodo de seleccion:\n\n");
orden();
}
MÉTODO DE BURBUJA:
código:
#include<stdio.h>
#include<conio.h>
main()
{
int temp;
int arreglo[10]={8,4,2,9,6,3,5,7,1,10};
for (int b=0;b<11;b++)/*esto sirve para que el arreglo pueda compararce las veces nesesarias y asi poder imprimir los numeros ordenados ejemplo de esto aqui
{
for (int i=0;i<8;i++)
{
if (arreglo[i+1]<arreglo[i])
{
temp=arreglo[i];
arreglo[i]=arreglo[i+1];
arreglo[i+1]=temp;
}
}
}
printf("\nordenamiento por el emtodo de burbuja (bubblesort)");
for (int x=0;x<9;x++)
{
printf("\n%d",arreglo[x]);
}
}
MÉTODO DE ORDENACIÓN POR INSERCIÓN:
#include<conio.h>
#include<stdio.h>
int num[100000],n;
void insercion()
{
int tem;
for (int q=1;q<n;q++)
{
tem=num[q];
for (int j=q;j>0 && tem<num[j-1];j--)
{
num[j]=num[j-1];
num[j-1]=tem;
}
}
}
void imprimir()
{
for (int h=0;h<n;h++)
{
printf("\t%d",num[h]);
}
}
main()
{
printf("cant. de numeros: ");
scanf("%d",&n);
for (int y=0;y<n;y++)
{
printf("valor %d: ",y+1);
scanf("%d",&num[y]);
}
printf("\norden ingresados:\n\n");
imprimir();
insercion();
printf("\n\nmetodo de insercion:\n\n");
imprimir();
getch();
}
espero que les haya sido útil, todavía seguiré subiendo nuevos programas para que vayan entendiendo esto!!
no olvides dejar tu comentario
gracias.
Muchas gracias si me sirvio! :)
ResponderEliminarGRACIAS ME AYUDO BASTANTE
ResponderEliminarGracias esta bueno.
ResponderEliminarFALTA EL DE SHELL Y QUICKSORT
ResponderEliminarmuy bueno y entendible
ResponderEliminarNMAS EL PRIMERO NO SUPE CUAL FUE, PERO NO SABIA QUE SE PODIAN HACER OTRO TIPO DE COSAS JE GRAXIAX!
ResponderEliminarmuchas Gracias ! :D
ResponderEliminarme pueden ayudar con este algoritmo me piden que organice los usuarios por edades y que de la opción de eliminar un usuario y luego el algoritmo se tiene que actualizar
ResponderEliminar//1)ENCUENTRE Y MUESTRE TODOS LOS DATOS DE UNA MAQUINA EN PARTICULAR
//2) LOS DATOS DE LA MAQUINA QUE MANIPULA UN OPERARIO EN PARTICULAR
//3) EL NUMERO DE SEXO MASCULINO O FEMENINO
#include
#include
#include
using namespace std;
const
int L=4;
const
int La=10;
struct Maquina
{
int codigom;
string nombre;
int htdiario;
};
struct buscar
{
int codigom;
};
struct organizaro
{
int edad;
};
struct Operario
{
int codigoo;
string nombre;
int edad;
string sexo;
int codigom;
};
Maquina vm[L];
Operario vo[La];
buscar vb[L];
int pm=-1;
int po=-1;
int buscarm(int codigo)
{
int encontrado,i;
encontrado=-1;
for(i=0;i<=pm;i++)
{
if(codigo==vm[i].codigom)
encontrado=i;
if(encontrado!=-1)
break;
}
return(encontrado);
}
void Llenarm()
{
Maquina tmp;
int p;
if(pm>tmp.codigom;
cout<<"Digite nombre"<>tmp.nombre;
cout<<"Digite duracion"<>tmp.htdiario;
if(pm==-1)
{
pm=pm+1;
vm[pm]=tmp;
}
else
{
p=buscarm(tmp.codigom);
if(p!=-1)
{
cout<<"El codigo ya existe"<>tmp.codigoo;
cout<<"..................."<>tmp.nombre;
cout<<"..................."<>tmp.edad;
cout<<"..................."<>tmp.sexo;
cout<<"..................."<>tmp.codigom;
if(po==-1)
{
bm=buscarm(tmp.codigom);
if(bm==-1)
cout<<"El programa no existe"<>tmp.codigom;
if (pm==-1)
bb=buscarm(tmp.codigom);
if(bb==-1)
cout<<"El programa no existe"<>codigoM;
for(i=0;i<=po;i++)
{
if(vo[i].codigom==codigoM){
tmp1=vo[i];
cout<>codigoA;
tmp1=buscaro(codigoA);
for(i=0;i<=po;i++)
{
if(vo[tmp1].codigoo==vm[i].codigom){
cout<>sexoo;
for(i=0;i<=po;i++)
{
if(vo[i].sexo==sexoo){
cont++;
}
}
cout<<"las personas con sexo "<>op;
do
{
if(op==1)
{
Llenarm();
system("cls");
}
else
if(op==2)
{
llenarO();
system("cls");
}
else
if(op==3)
{
system("cls");
MostrarM();
}
else
if(op==4)
{
system("cls");
MostrarO();
}
else
if (op==5)
{
system("cls");
MostrarOp_Ma();
}
else
if(op==6)
{
system("cls");
MostrarMS();
}
else
if(op==7)
{
system("cls");
MostrarS();
}
else
system("cls");
cout<<"HOLA BIENVENIDO REVISE EL SIGUIENTE MENU "<>op;
}while((op>=1)&&(op<=7));
exit(0);
return(0);
}
en un concurso de admision de la Utp SE PRESENTARON MAS DE 4000 ALUMNOS, ELABORE UN PROGRAMA PARA LEER LOS PUNTAJES OBTENIDOS POR LOS POSTULANTES (GENERE LOS PUNTAJES DE 0 A 1000 PUNTOS)E IMPRIMIR DICHOS PUNTAJES EN ORDEN DESCENDENTE , ASIMISMO IMPRIMIR UNA LISTA DE LOS POSTULANTES QUE ALCANZARON UNA VACANTE QUE SON EL 20% DE LOS POSTULANTES Q OBTUVIERON LA MEJOR NOTA E IMPRIMIR EL PUNTAJE MAXIMO Y MINIMO DE INGRESANTE , POR METODO DE INSERCCION
ResponderEliminarThanks! :'D
ResponderEliminarNecesito q me ayuden me pidieron un ejercicio donde se explique el método de intercambio y busco pero me aparece q es el mismo burbuja y tengo la duda por favor ayuda
ResponderEliminarGracias amigo pude aclarar mi codigo :D
ResponderEliminarnecesito programar en cuanto tiempo demora la maquina en hacer el intercambio por método de seleccion
ResponderEliminarnecesito programar en cuanto tiempo demora la maquina en hacer el intercambio por método de seleccion
ResponderEliminarHola me podrías ayudar como harías el método burbuja con 5000 cifras
ResponderEliminarexplica la parte del ordenamiento en la inserción de valores
ResponderEliminarBien
ResponderEliminar