Ordenamiento de
vectores
Ordenar es clasificar los datos de
uno o más vectores según criterios en forma ascendente o descendente, si un
vector esta relacionado con mas vectores solo se ordena el vector base o
principal y al mover los datos se los hace con todos los que tenga relación
Vector original vector ordenado
Cod.Estudiante
|
nota
|
Cod.Estudiante
|
nota
|
|
3
|
8
|
1
|
7
|
|
2
|
9
|
2
|
9
|
|
4
|
6
|
3
|
8
|
|
5
|
4
|
4
|
6
|
|
1
|
7
|
5
|
4
|
METODO DE LA BURBUJA
Existen diferentes técnicas de ordenamiento la que manejaremos es la de la burbuja, lleva este nombre porque entra en un lazo y queda mas arriba el elemento mas liviano (en el caso de ser ordenado ascendentemente), y se repite el proceso para el segundo, tercero y así hasta el final.
Antes de realizar el ordenamiento hay que entender como se
reemplaza los datos de una variable a otra porque es un proceso necesario para
el ordenamiento.
Para realizar el intercambio de valores de una variable a otra
se pensaría realizar lo siguiente:
a =2;
b = 5;
a=b; proceso incorrecto
al realizar una prueba quedaría asi:
b=a;
a b
2 5
5 5
-> se pierde el primer valor
Lo correcto es utilizar una variable auxiliar para no tener el
problema de perdida de datos
a =2;
b = 5; a b aux
aux = a; 2 5 2
a = b; 5 2
-> se ha intercambiado correctamente.
b = c;
este proceso se deber realizar por cada vector que se desee
intercambiar sus datos y no perder información.
Ejercicio:
Ingresar los códigos de estudiantes con sus respectivas notas y
ordenar la información por medio del código para mostrarla en forma
clasificada.
ORDENAMIENTO DE VECTORES EN C
|
#include <conio.h>
int nom[5];
float nota [5];
int aux_nom;
float aux_nota;
int n,i,j;
char x;
main ()
{
printf ("PROGRAMA ORDENAMIENTO DE VECTORES\n");
n=5;
for(i=0; i<n; i++)
{
printf ("Ingrese codigo de estudiante: ");
scanf ("%d",&nom[i]);
printf ("Ingrese nota: ");
scanf ("%f",¬a[i]);
}
printf ("\n\n VECTORES ORIGINALES \n");
for(i=0; i<n; i++)
{
printf ("%d - ",nom[i]);
printf (" %f
\n",nota[i]);
}
for(i=0; i<n-1; i++)
{
for(j=i+1;j<n;j++)
{ // si es
ascendente se usa >
if (nom[i]>nom[j])
{
aux_nom=nom[i]; // intercambiar nombre
nom[i]=nom[j];
nom[j]=aux_nom;
aux_nota=nota[i]; // intercambiar nota
nota[i]=nota[j];
nota[j]=aux_nota;
}
}
}
printf ("\n\n VECTORES ORDENANDOS \n");
for(i=0; i<n; i++)
{
printf ("%d - ",nom[i]);
printf (" %f
\n",nota[i]);
}
scanf ("%d",&x);
}
Angelo Barreiro
ResponderEliminarJandry valencia
ResponderEliminarFernado llamatumbi
ResponderEliminarGomez Jahir
ResponderEliminarAriel Rodriguez
ResponderEliminarJoel Rosero
ResponderEliminarDayana Sampedro 1ero info A
ResponderEliminarjhoel coro 1ro inf B
ResponderEliminarpatricio espinoza 1ro info "b"
ResponderEliminarJavier Guajan 1ro Info B
ResponderEliminarVanesa Ayol 1ron Inf B
ResponderEliminardennis rivera 1ro info A
ResponderEliminar