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