Francisco Aldana Hernández

Francisco Aldana Hernández
Sistemas Computacionales

domingo, 7 de noviembre de 2010

Segundo Parcial

------------------------------------------------------------------------------------------------------------------
*************************************************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*************************************************************************************
------------------------------------------------------------------------------------------------------------------

Proyecto :::::: Introduccion de datos de N alumnos y ordenamiento por medio de opciones...

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
#include"string.h"
char nombre[20][30],apellidoa[20][30],apellidob[20][30];
int menu()
{
int opcion,salir=1,opc;
while(salir==1)
{
clrscr();
salir=0;
printf("::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(1,2);printf(":");gotoxy(1,3);printf(":");gotoxy(1,4);printf(":");gotoxy(1,5);printf(":");
gotoxy(1,6);printf(":");gotoxy(1,7);printf(":");gotoxy(1,8);printf(":");gotoxy(1,9);printf(":");
gotoxy(1,10);printf(":");gotoxy(1,11);printf(":");gotoxy(1,12);printf(":");gotoxy(1,13);printf(":");
gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");
gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");
gotoxy(1,18);printf(":");gotoxy(1,19);printf(":");gotoxy(1,20);printf(":");gotoxy(1,21);printf(":");
gotoxy(1,22);printf(":");gotoxy(1,23);printf(":");gotoxy(1,24);printf(":");
gotoxy(1,25);printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(30,2);printf("******-|-Menu-|-******");
gotoxy(3,5);printf("1.- Ordenar por apellidos");
gotoxy(3,6);printf("2.- Ordenar por nombre");
gotoxy(3,7);printf("3.- Ordenar por promedio mas alto al mas bajo");
gotoxy(3,8);printf("4.- Ordenar por promedio mas bajo al mas alto");
gotoxy(3,9);printf("5.- Salir");
gotoxy(8,12);printf("Que opcion deseas?");
opcion=getche();
clrscr();
switch(opcion)
{
case '1': opc=1; break;
case '2': opc=2; break;
case '3': opc=3; break;
case '4': opc=4; break;
case '5': opc=0; break;
default:
{
salir=1;
printf("Opcion Invalida");
getch();
}
}
}
return(opc);
}
int ordennomap(int num,int lista[],int opc)
{
    int i,aux=0;
    int c,temp2, j;
    char nombreaux[30],apellidoaaux[30],apellidobaux[30];
if (opc==1)
{
for(i = (num-1); i >= 0; i--)
{
    temp2=num-1;
    for(j = 1; j <= temp2; j++)
    {
        if(strcmp(apellidoa[j-1],apellidoa[j]) > 0)
            {
                aux=lista[j-1];
                lista[j-1]=lista[j];
                lista[j]=aux;
                strcpy(apellidoaaux, apellidoa[j-1]);
                strcpy(apellidoa[j-1], apellidoa[j]);
                strcpy(apellidoa[j], apellidoaaux);
                strcpy(apellidobaux, apellidob[j-1]);
                strcpy(apellidob[j-1], apellidob[j]);
                strcpy(apellidob[j], apellidobaux);
                strcpy(nombreaux, nombre[j-1]);
                strcpy(nombre[j-1], nombre[j]);
                strcpy(nombre[j], nombreaux);
            }
    }
}
             printf("Ordenado por apellidos alfabeticamente:\n\n");
     for(c=0;c<num;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
else
{
for(i = (num-1); i >= 0; i--)
{
    temp2=num-1;
    for(j = 1; j <= temp2; j++)
    {
        if(strcmp(nombre[j-1],nombre[j]) > 0)
            {
                aux=lista[j-1];
                lista[j-1]=lista[j];
                lista[j]=aux;
                strcpy(apellidoaaux, apellidoa[j-1]);
                strcpy(apellidoa[j-1], apellidoa[j]);
                strcpy(apellidoa[j], apellidoaaux);
                strcpy(apellidobaux, apellidob[j-1]);
                strcpy(apellidob[j-1], apellidob[j]);
                strcpy(apellidob[j], apellidobaux);
                strcpy(nombreaux, nombre[j-1]);
                strcpy(nombre[j-1], nombre[j]);
                strcpy(nombre[j], nombreaux);
            }
    }
}
             printf("Ordenado por nombres alfabeticamente:\n\n");
     for(c=0;c<num;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
}


void ordenar(int lista[],int num,int opc)
{
  int c=0,c1=0,c2=0,aux=0;
  char nombreaux[30],apellidoaaux[30],apellidobaux[30];
  for(c1=0;c1<=num;c1++)
  {
     for(c2=0;c2<num;c2++)
     {
          if(lista[c2]>lista[c2+1])
          {
             aux=lista[c2];
             lista[c2]=lista[c2+1];
             lista[c2+1]=aux;
             strcpy(nombreaux,nombre[c2]);
             strcpy(nombre[c2],nombre[c2+1]);
             strcpy(nombre[c2+1],nombreaux);
             strcpy(apellidoaaux,apellidoa[c2]);
             strcpy(apellidoa[c2],apellidoa[c2+1]);
             strcpy(apellidoa[c2+1],apellidoaaux);
             strcpy(apellidobaux,apellidob[c2]);
             strcpy(apellidob[c2],apellidob[c2+1]);
             strcpy(apellidob[c2+1],apellidobaux);
          }
        }
     }
     if (opc==4)
     {
     printf("Ordenado del promedio mas bajo al mas alto:\n\n");
     for(c=0;c<num;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
     }
     else
     {
     printf("Ordenado del promedio mas alto al mas bajo:\n\n");
     for(c=num-1;c>=0;c--)
     {
     cout<<"El alumno "<<nombre[c]<<" "<<apellidoa[c]<<" "<<apellidob[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}   }






int main()
{
int num=3,resp=1;
clrscr();
printf("::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(1,2);printf(":");gotoxy(1,3);printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(1,4);printf(":");gotoxy(1,5);printf(":");gotoxy(1,6);printf(":");gotoxy(1,7);printf(":");
gotoxy(1,8);printf(":");gotoxy(1,9);printf(":");gotoxy(1,10);printf(":");gotoxy(1,11);printf(":");
gotoxy(1,12);printf(":");gotoxy(1,13);printf(":");gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");
gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");gotoxy(1,14);printf(":");gotoxy(1,15);printf(":");
gotoxy(1,16);printf(":");gotoxy(1,17);printf(":");gotoxy(1,18);printf(":");gotoxy(1,19);printf(":");
gotoxy(1,20);printf(":");gotoxy(1,21);printf(":");gotoxy(1,22);printf(":");gotoxy(1,23);printf(":");
gotoxy(1,24);printf(":");
gotoxy(36,24);printf("Realizado por Francisco Aldana Hernandez ISC");
gotoxy(1,25);printf(":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
gotoxy(5,2);printf("Sistema de registro de calificaciones con vista deseada por el usuario");
gotoxy(20,10);printf("Cuantos alumnos deseas introducir?\n");
gotoxy(36,11);scanf("%d",&num);
int contador=0,auxiliar=0,c=0,c1=0,lista[20],calificacion[20][3];
int opc=0;
clrscr();
  for(c=0;c<num;c++)
  {
  printf("Introduce el nombre: -->");
  scanf("%s",&nombre[c]);
  printf("Introduce el primer apellido: -->");
  scanf("%s",&apellidoa[c]);
  printf("Introduce el segundo apellido: -->");
  scanf("%s",&apellidob[c]);
  auxiliar=0;
  for(c1=0;c1<3;c1++)
  {
     cout<<"Introduce la calificacion "<<c1+1<<": ";cin>>calificacion[c][c1];
     auxiliar+=calificacion[c][c1];
  }
  lista[contador]=auxiliar/3;
  contador=contador+1;
  clrscr();
  }
  clrscr();
while(resp==1)
{
opc=menu();
clrscr();

if(opc==0)
{
printf("No se selecciono ninguna opcion!!!!!!");
}
if(opc==1)
{
ordennomap(num,lista,opc);
}
if(opc==2)
{
ordennomap(num,lista,opc);
}
if(opc==3)
{
ordenar(lista,num,opc);
}
if(opc==4)
{
ordenar(lista,num,opc);
}
getch();
printf("\n------------------------------------------------------------------\nDeseas continuar\n 1.- Si\n 2.- No\n");
scanf("%d",&resp);
}
}

Programa para sumar numeros diagonales de una matriz de 4*4

//Francisco Aldana Hernandez
#include"iostream.h"
#include"conio.h"
#include"stdio.h"
int operar(int lista[4][4])
{
int c=0,c1,c2=3,suma=0,suma2=0,conta1=2,conta2=5;
for(c1=0;c1<4;c1++)
{
    suma+=lista[c1][c1];
    suma2+=lista[c2][c1];
    c2-=1;
}
clrscr();
printf("\n----------------------------\nLa matriz es la siguiente\n");
for(c=0;c<=3;c++)
 {
     for(c2=0;c2<4;c2++)
     {
gotoxy(conta1,conta2);cout<<lista[c][c2]<<"  ";
     conta2+=1;
     }
conta2=5;
conta1+=4;
cout<<endl;
}
printf("\n---------------------------------------------------------\nSuma de la diagonal de izquierda a derecha:\n");
c2=3;
for(c=0;c<4;c++)
{
printf("--%d--",lista[c][c]);
}
printf("= ---->%d\n",suma);
printf("\n---------------------------------------------------------\nSuma de la diagonal de derecha a izquierda:\n");
c2=3;
for(c=0;c<4;c++)
{
printf("--%d--",lista[c2][c]);
c2-=1;
}
printf("= ---->%d\n",suma2);
getch();
}
void main()
{
int c,c2,suma=0,suma2=0,lista[4][4];
clrscr();
for(c2=0;c2<4;c2++)
{
  for(c=0;c<=3;c++)
  {
     cout<<"Introduce un numero en la posicion---> "<<c2<<" , "<<c<<": "; cin>>lista[c2][c];
  }
}
operar(lista); clrscr();
}

lunes, 1 de noviembre de 2010

Programa para ordenar N numeros de un arreglo de N -- Varios Metodos ---- Aporte

#include <stdio.h>
int Cantidad, opcion, i, Vector[100], j, k, Aux, intb, l, Mayor, Posmayor, Volver, Central;
/*SUBRUTINA DE QUICK SORT*/
void partir(int primero,int ultimo)
{i=primero;
 j=ultimo;
 Central= Vector[(primero+ultimo)/2];
 while (i<=j)
 {while (Vector[i]<Central)
  {i=i+1;}
  while (Vector[j]>Central)
  {j=j-1;}
  if (i<=j)
  {printf("\n\nCambiando...  Vector[%d]=%d  por  Vector[%d]=%d\n",j,Vector[j],i,Vector[i]);
   Aux=Vector[i];
   Vector[i]=Vector[j];
   Vector[j]=Aux;
   for(k=1;k<=Cantidad;k++)
   {printf("\t%d",Vector[k]);}
   i=i+1;
   j=j-1;
  }              
 }
 if(primero<j)
 {partir(primero,j);}
 if(i<ultimo)
 {partir(i,ultimo);}
}


/*METODO QUICK SORT*/
void Quick_Sort()
{printf("\n\n\tCuantos numeros seran introducidos:  ");
 scanf("%d",&Cantidad);
 printf("\n");
 for(i=1;i<=Cantidad;i++)
 {printf("\tVector[%d]=",i);
  scanf("%d",&Vector[i]);
 }
 partir(1,Cantidad);  
 printf("\n\n\t\tVECTOR ORDENADO\n");
 for(i=1;i<=Cantidad;i++)              
 {printf("\t%d",Vector[i]);}
}

                
/*METODO DE SHELL*/
void Shell()
{printf("\n\n\tCuantos numeros seran introducidos:  ");
 scanf("%d",&Cantidad);
 printf("\n");
 for(i=1;i<=Cantidad;i++)
 {printf("\tVector[%d]=",i);
  scanf("%d",&Vector[i]);
 }
 intb = Cantidad / 2;
 while(intb>0)
 {for(i=intb+1;i<=Cantidad;i++)
  {j = i - intb;
   while(j>0)
   {k = j + intb;
    if(Vector[j]<Vector[k])
    {j=0;}
    else
    {printf("\n\n\tCambiando...  Vector[%d]=%d  por  Vector[%d]=%d\n",j,Vector[j],k,Vector[k]);
     Aux = Vector[j];
     Vector[j] = Vector[k];
     Vector[k] = Aux;
     for(l=1;l<=Cantidad;l++)
     {printf("\t%d",Vector[l]);}
    }
    j = j - intb;
   }
  }
  intb = intb / 2;
 }
 printf("\n\n\t\tVECTOR ORDENADO\n");
 for(i=1;i<=Cantidad;i++)              
 {printf("\t%d",Vector[i]);}
}


/*METODO DE SELECCION*/
void Seleccion()
{printf("\n\n\tCuantos numeros seran introducidos:  ");
 scanf("%d",&Cantidad);
 printf("\n");
 for(i=1;i<=Cantidad;i++)
 {printf("\tVector[%d]=",i);
  scanf("%d",&Vector[i]);
 }
 for(i=1;i<=Cantidad-1;i++)
 {Mayor=Vector[i];
  Posmayor=i;
  for(j=i+1;j<=Cantidad;j++)
  {if(Vector[j]<Mayor)     
   {Mayor=Vector[j];
    Posmayor=j;
   }
  }
  printf("\n\n\tCambiando...  Vector[%d]=%d  por  Vector[%d]=%d\n",i,Vector[i],Posmayor,Vector[Posmayor]);
  Aux=Vector[i];
  Vector[i]=Vector[Posmayor];
  Vector[Posmayor]=Aux;
  for(l=1;l<=Cantidad;l++)
  {printf("\t%d",Vector[l]);}
 }  
 printf("\n\n\t\tVECTOR ORDENADO\n");
 for(i=1;i<=Cantidad;i++)              
 {printf("\t%d",Vector[i]);}
}


/*METODO DE BURBUJA*/
void Burbuja()
{printf("\n\n\tCuantos numeros seran introducidos:  ");
 scanf("%d",&Cantidad);
 printf("\n");
 for(i=1;i<=Cantidad;i++)
 {printf("\tVector[%d]=",i);
  scanf("%d",&Vector[i]);
 }
 for(i=1;i<=Cantidad-1;i++)
 {for(j=1;j<=Cantidad-1;j++)
  {if(Vector[j+1]<Vector[j])
   {printf("\n\n\tCambiando...  Vector[%d]=%d  por  Vector[%d]=%d\n",j+1,Vector[j+1],j,Vector[j]);
    Aux=Vector[j+1];
    Vector[j+1]=Vector[j];
    Vector[j]=Aux;
    for(k=1;k<=Cantidad;k++)
    {printf("\t%d",Vector[k]);}
   }
  }
 }
 printf("\n\n\t\tVECTOR ORDENADO\n");
 for(i=1;i<=Cantidad;i++)
 {printf("\t%d",Vector[i]);}
}


/*PROGRAMA PRINCIPAL*/
void main()
{do
 {printf("\n\n\n\n\n\n\t\t\t\t\tMETODOS DE ORDENAMIENTO");
  printf("\n\n\t\t\t\t1. BURBUJA");
  printf("\n\t\t\t\t2. SELECCION");
  printf("\n\t\t\t\t3. SHELL");
  printf("\n\t\t\t\t4. QUICK SORT");
  printf("\n\t\t\t\t5. SALIDA");
  printf("\n\n\t\t\t\tESCOJA UNA DE LAS OPCIONES [1-5]:  ");
  scanf("%d", &opcion);
  switch(opcion)
  {case 1:{Burbuja();
           Volver=1;
           break;
          }
   case 2:{Seleccion();
           Volver=1;
           break;
          }
   case 3:{Shell();
           Volver=1;
           break;
          }
   case 4:{Quick_Sort();
           Volver=1;
           break;
          }
   case 5:{Volver=0;
           break;
          }
  }
 }while(Volver);
}

Programa para ordenar ascendentemente una Matriz de 3*3

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
int ordenar(int lista[3][3])
{
  int c1,c2,c3,c4,aux,aux2;
for(c4=0;c4<=2;c4++)
{
for(c3=0;c3<=2;c3++)
{
for(c1=0;c1<=2;c1++)
  {
     for(c2=0;c2<=2;c2++)
     {
          if(lista[c3][c2]>lista[c3][c2+1])
          {
             aux=lista[c3][c2];
             lista[c3][c2]=lista[c3][c2+1];
             lista[c3][c2+1]=aux;
          }
        }
     }
      if(lista[c3][c4]>lista[c3][c4+1])
          {
         aux2=lista[c3][c4];
             lista[c3][c4]=lista[c3][c4+1];
             lista[c3][c4+1]=aux2;
          }
}
}



  return 0;
}
int main()
{
int c,c2,lista[3][3];
clrscr();
for(c2=0;c2<3;c2++)
{
  for(c=0;c<=2;c++)
  {
     cout<<"Introduce un numero en la posicion---> "<<c2<<" , "<<c<<": "; cin>>lista[c2][c];
  }
}
ordenar(lista); clrscr();
printf("Lista en forma ascendente:\n");
printf("\n----------------------------\n");
for(c=0;c<=2;c++)
 {
     for(c2=1;c2<=3;c2++)
     {
     cout<<lista[c][c2]<<" ";   
}
cout<<endl;
}
getch();
}

Programa para ordenar 5 promedios con su respectivo Alumno -- Metodo de Selección

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
#include"string.h"
  char nombre[5][30];
void ordenar(int lista[])
{
char nombreaux[30];
int c=0,i, j, min, aux;
for(i=0;i<5;i++)
{
min=i;
j=i+1;
for(j=0;j<5;j++)
{
if(lista[j]<lista[i])
{
min=j;
aux=lista[i];
strcpy(nombreaux,nombre[i]);
lista[i]=lista[min];
strcpy(nombre[i],nombre[min]);
lista[min]=aux;
strcpy(nombre[min],nombreaux);
}
}
}
     printf("Lista en forma ascendente:\n");
     for(c=0;c<5;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" con un promedio de "<<lista[c]<<endl;
     }
     printf("\n\nLista en forma descendente:\n");
     for(c=4;c>=0;c--)
     {
     cout<<"El alumno "<<nombre[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
int main()
{
  int contador=0,auxiliar=0,c=0,c1=0,lista[5],calificacion[5][3];
clrscr();
  for(c=0;c<5;c++)
  {
  printf("Introduce el nombre: -->");
  scanf("%s",&nombre[c]);
  auxiliar=0;
  for(c1=0;c1<3;c1++)
  {
     cout<<"Introduce la calificacion "<<c1+1<<": ";cin>>calificacion[c][c1];
     auxiliar+=calificacion[c][c1];
  }
  lista[contador]=auxiliar/3;
  contador=contador+1;
  clrscr();
  }
  clrscr();
ordenar(lista);
getch();
}

Programa para ordenar 10 numeros de un arreglo -- Metodo de Selección

#include"iostream.h"
#include"conio.h"
#include"stdio.h"

void ordenar(int lista[]) {
  
  int i, a, inicio,tamanio_arreglo=10;

   for (i=1; i < tamanio_arreglo; i++) {
   inicio = lista[i];
   a = i-1;
          while (a >= 0 && lista[a] > inicio) {
             lista[a + 1] = lista[a];
             a--;
          }
   lista[a+1] = inicio;
   }
}

int main()
{
  int c,lista[10];
    clrscr();
  for(c=0;c<=9;c++)
  {
     cout<<"Introduce un numero en la posicion---> "<<c+1<<": "; cin>>lista[c];
  }
ordenar(lista); clrscr();
printf("Lista en forma ascendente:\n");
     for(c=0;c<=9;c++)
     {
     cout<<lista[c]<<" ";
     }
     printf("\n\nLista en forma descendente:\n");
     for(c=9;c>=0;c--)
     {
     cout<<lista[c]<<" ";
     }
getch();

}

Programa para ordenar 5 promedios con su respectivo Alumno -- Metodo de Inserción

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
#include"string.h"
  char nombre[5][30];
void ordenar(int lista[])
{
  int c=0;
  char nombreaux[30];
  int i, a,inicio;

   for (i=1; i < 5; i++) {
   inicio = lista[i];
   strcpy(nombreaux,nombre[i]);
   a = i-1;
          while (a >= 0 && lista[a] > inicio) {
             lista[a + 1] = lista[a];
         strcpy(nombre[a + 1],nombre[a]);
             a--;
          }
   lista[a+1] = inicio;
   strcpy(nombre[a+1],nombreaux);
   }
     printf("Lista en forma ascendente:\n");
     for(c=0;c<5;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" con un promedio de "<<lista[c]<<endl;
     }
     printf("\n\nLista en forma descendente:\n");
     for(c=4;c>=0;c--)
     {
     cout<<"El alumno "<<nombre[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
int main()
{
  int contador=0,auxiliar=0,c=0,c1=0,lista[5],calificacion[5][3];
clrscr();
  for(c=0;c<5;c++)
  {
  printf("Introduce el nombre: -->");
  scanf("%s",&nombre[c]);
  auxiliar=0;
  for(c1=0;c1<3;c1++)
  {
     cout<<"Introduce la calificacion "<<c1+1<<": ";cin>>calificacion[c][c1];
     auxiliar+=calificacion[c][c1];
  }
  lista[contador]=auxiliar/3;
  contador=contador+1;
  clrscr();
  }
  clrscr();
ordenar(lista);
getch();
}

Programa para ordenar 10 numeros de un arreglo -- Metodo de Inserción

#include"iostream.h"
#include"conio.h"
#include"stdio.h"

void ordenar(int lista[]) {
  
  int i, a, inicio,tamanio_arreglo=10;

   for (i=1; i < tamanio_arreglo; i++) {
   inicio = lista[i];
   a = i-1;
          while (a >= 0 && lista[a] > inicio) {
             lista[a + 1] = lista[a];
             a--;
          }
   lista[a+1] = inicio;
   }
}

int main()
{
  int c,lista[10];
    clrscr();
  for(c=0;c<=9;c++)
  {
     cout<<"Introduce un numero en la posicion---> "<<c+1<<": "; cin>>lista[c];
  }
ordenar(lista); clrscr();
printf("Lista en forma ascendente:\n");
     for(c=0;c<=9;c++)
     {
     cout<<lista[c]<<" ";
     }
     printf("\n\nLista en forma descendente:\n");
     for(c=9;c>=0;c--)
     {
     cout<<lista[c]<<" ";
     }
getch();

}

Programa para ordenar 5 promedios con su respectivo Alumno -- Metodo de Burbuja

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
#include"string.h"
char nombre[5][30];
void ordenar(int lista[])
{
  int c=0,c1=0,c2=0,aux=0;
  char nombreaux[30];
  for(c1=0;c1<=5;c1++)
  {
     for(c2=0;c2<5;c2++)
     {
          if(lista[c2]>lista[c2+1])
          {
             aux=lista[c2];
             lista[c2]=lista[c2+1];
             lista[c2+1]=aux;
             strcpy(nombreaux,nombre[c2]);
             strcpy(nombre[c2],nombre[c2+1]);
             strcpy(nombre[c2+1],nombreaux);
           
          }
        }
     }
     printf("Lista en forma ascendente:\n");
     for(c=0;c<5;c++)
     {
     cout<<"El alumno "<<nombre[c]<<" con un promedio de "<<lista[c]<<endl;
     }
     printf("\n\nLista en forma descendente:\n");
     for(c=4;c>=0;c--)
     {
     cout<<"El alumno "<<nombre[c]<<" con un promedio de "<<lista[c]<<endl;
     }
}
int main()
{
  int contador=0,auxiliar=0,c=0,c1=0,lista[5],calificacion[5][3];
clrscr();
  for(c=0;c<5;c++)
  {
  printf("Introduce el nombre: -->");
  scanf("%s",&nombre[c]);
  auxiliar=0;
  for(c1=0;c1<3;c1++)
  {
     cout<<"Introduce la calificacion "<<c1+1<<": ";cin>>calificacion[c][c1];
     auxiliar+=calificacion[c][c1];
  }
  lista[contador]=auxiliar/3;
  contador=contador+1;
  clrscr();
  }
  clrscr();
ordenar(lista);
getch();
}

Programa para ordenar 10 numeros de un arreglo -- Metodo de Burbuja

#include"iostream.h"
#include"conio.h"
#include"stdio.h"
int ordenar(int lista[])
{
  int c1,c2,aux;
  for(c1=0;c1<=9;c1++)
  {
     for(c2=0;c2<9;c2++)
     {
          if(lista[c2]>lista[c2+1])
          {
             aux=lista[c2];
             lista[c2]=lista[c2+1];
             lista[c2+1]=aux;
          }
        }
     }
  return 0;
}
int main()
{
  int c,lista[10];
  for(c=0;c<=9;c++)
  {
     cout<<"Introduce un numero en la posicion---> "<<c+1<<": "; cin>>lista[c];
  }
ordenar(lista); clrscr();
printf("Lista en forma ascendente:\n");
     for(c=0;c<=9;c++)
     {
     cout<<lista[c]<<" ";
     }
     printf("\n\nLista en forma descendente:\n");
     for(c=9;c>=0;c--)
     {
     cout<<lista[c]<<" ";
     }

}

----------------------................1er Parcial................----------------------

**********************************************************************************
--------------------------------------------------------------------------------------------------------------
**********************************************************************************
--------------------------------------------------------------------------------------------------------------
***********************************************************************************
--------------------------------------------------------------------------------------------------------------