[ Foro de C ]

Ejercicio 5.7

09-Mar-2013 22:54
Francisco Garcia Ansuategui
1 Respuestas

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();
 
 }
 



11-Mar-2013 23:39
Nacho Cabanes (+32)

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.)