[ Foro de C ]
Agradeceria me revisara los ejercicios de ordenaciones simples
/*Ordenacion por el metodo de la burbuja creciente*/
#include<stdio.h>
main()
{
int notas[7]={10,4,3,9,8,131,21};
int temporal;
int i,j,x;
for(i=0; i<6; i++)
for(j=i+1; j<7; j++)
{
if(notas[i]>notas[j])
{
temporal=notas[i];
notas[i]=notas[j];
notas[j]=temporal;
}
for(x=0; x<7; x++)
printf("%d ",notas[x]);
printf("\n");
}
getchar();
}
/*Ordenacion por el metodo de la burbuja decreciente*/
#include<stdio.h>
main()
{
int notas[7]={10,4,3,9,8,131,21};
int temporal;
int i,j,x;
for(i=6; i>1; i--)
for(j=1; j<=i; j++)
{
if(notas[j-1]>notas[j])
{
temporal=notas[j-1];
notas[j-1]=notas[j];
notas[j]=temporal;
}
for(x=0; x<7; x++)
printf("%d ",notas[x]);
printf("\n");
}
getchar();
}
/*Ordenacion por el metodo de seleccion directa*/
#include<stdio.h>
main()
{
int notas[7]={10,4,3,9,8,131,21};
int temporal;
int i,j,x,menor;
for(i=0; i<6; i++)
{
menor=i;
for(j=i+1; j<7; j++)
if(notas[j]<notas[menor]) menor=j;
if(menor!=i)
{
temporal=notas[menor];
notas[menor]=notas[i];
notas[i]=temporal;
for(x=0; x<7; x++)
printf("%d ",notas[x]);
printf("\n");
}
}
getchar();
}
/*Ordenacion por el metodo de insercion directa*/
#include<stdio.h>
main()
{
int notas[7]={10,4,3,9,8,131,21};
int temporal;
int i,j,x,menor;
for(i=1; i<7; i++)
{
j=i-1;
while((j>=0)&&(notas[j]>notas[j+1]))
{
temporal=notas[j];
notas[j]=notas[j+1];
notas[j+1]=temporal;
j=j-1;
for(x=0; x<7; x++)
printf("%d ",notas[x]);
printf("\n");
}
}
getchar();
}
La lógica es buena. Las tabulaciones están descolocadas y cuesta un poco leerlo, pero la apariencia es buena.
El único matiz es que en el enunciado se hablaba de un "único programa" que probara los 4 métodos (lo que te ayuda a comprobar si los resultados son correctos) y tú has hecho cuatro "main" distintos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)