elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  burbuja,insercion y seleccion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: burbuja,insercion y seleccion  (Leído 9,283 veces)
chaarlyyyy

Desconectado Desconectado

Mensajes: 20


Ver Perfil
burbuja,insercion y seleccion
« en: 26 Mayo 2010, 05:19 am »

hola amigos lo que sucede es que tngo los algoritmos de burbuja,seleccion e insercion en C pero los tngo por separado y lo que necesito es unirlos en un menu es decir me de la opcion de q tipo de algoritmo de ordenamiento usare xfa si pueden ayudarme


En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 640


Another Brick in the Wall


Ver Perfil WWW
Re: burbuja,insercion y seleccion
« Respuesta #1 en: 26 Mayo 2010, 05:21 am »

Osea, tienes varios métodos y quieres decidir como usuario el método a usar? Fácil, con varios If o un Switch (Con el Switch, recomiendo yo)

SI posteas el código, te ayudamos ^^


En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: burbuja,insercion y seleccion
« Respuesta #2 en: 26 Mayo 2010, 05:36 am »

Te recomiendo leer este tema creado por do-while

http://foro.elhacker.net/programacion_cc/para_que_dejeis_de_preguntar_de_una_vez_por_los_menus-t276719.0.html

Salu10.
En línea

chaarlyyyy

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: burbuja,insercion y seleccion
« Respuesta #3 en: 26 Mayo 2010, 18:31 pm »

este es el codigo q tngo esta claro q me falta el menu principal y el traspaso de parametros para el arreglo a[] porfa ayudenme

#include<stdio.h>
#include<conio.h>
void burbuja(a[],int n)
{
int i,j,aux;
for(i=1;i<n;i++)
 for(j=o;j<n-1;j++)
  {
  if(a[j]>a[j+1])
   {
   aux=a[j];
   a[j]=a[j+1];
   a[j+1]=aux;
   }
  }
}

void insercion((a[],int n)
{
int i,j,aux;
for(i=1;i<n;i++)
 {
 j=i;
 aux=a;
 while(j>0 && aux < a[j-1])
  {
  a[j]=a[j-1];
  j--;
  }
  a[j]=aux;
 }
}

void seleccion(a[],int n)
{
int i,j,indicemenor,aux;
for(i=0;i<n-1;i++)
 {
 indicemenor=i;
 for(j=i+1;j<n;j++)
  if(a[j]<a[indicemenor])
  indicemenor=j;
   if(i !=indicemenor)
   {
    aux=a;
    a=a[indicemenor];
    a[indicemenor]=aux;
   }
  }
}
En línea

nicolas_cof


Desconectado Desconectado

Mensajes: 348


Into the Wild


Ver Perfil WWW
Re: burbuja,insercion y seleccion
« Respuesta #4 en: 27 Mayo 2010, 02:57 am »

Aca te dejo un menu muy rudimentario ;D, pero te va a servir para darte una idea :P

Acordate de cuando hagas un post con codigo fuente utilizar las etiquetas GeSHI [code=c][/code] o la de codigo sola [code][/code]

La libreria conio.h no hacia falta incluirla ya que no haces uso. Ademas tampoco es recomendable su uso ya que no es estandar.

Código:
#include <stdio.h>

void mostrar( int a[], int n );
int* copia( int a[], int cp[], int n );
int* burbuja( int a[], int n );
int* insercion( int a[], int n );
int* seleccion( int a[], int n );

int
main( void )
{
int opcion, n = 8;
int a[] = { 15, 56, 90, 0, 1, 6, 78, 65 };
int cp[n];

do
{
printf( "1. Burbuja\n"
"2. Insercion\n"
"3. Seleccion\n"
"4. Salir\n"
"> " );
fflush( stdout );
scanf( "%d", &opcion );

switch ( opcion )
{
case 1:
printf( "Original: " );
mostrar( a, n );
printf( "Ordenada: " );
mostrar( burbuja( copia( a, cp, n ), n ), n );
break;
case 2:
printf( "Original: " );
mostrar( a, n );
printf( "Ordenada: " );
mostrar( insercion( copia( a, cp, n ), n ), n );
break;
case 3:
printf( "Original: " );
mostrar( a, n );
printf( "Ordenada: " );
mostrar( seleccion( copia( a, cp, n ), n ), n );
break;
case 4:
printf( "Saliendo...\n" );
break;
default:
printf( "Opcion incorrecta\n" );
break;
}
}
while ( opcion != 4 );

return 0;
}

void
mostrar( int a[], int n )
{
int i;

for ( i = 0; i < n; ++i )
printf( "%d ", a[i] );
putchar( '\n' );
}

int*
copia( int a[], int cp[], int n )
{
int i;

for ( i = 0; i < n; ++i )
cp[i] = a[i];

return cp;
}

int*
burbuja( int a[], int n )
{
int i, j, aux;

for ( i = 1; i < n; i++ )
for ( j = 0; j < n - 1; j++ )
if ( a[j] > a[j + 1] )
{
aux = a[j];
a[j] = a[j + 1];
a[j + 1] = aux;
}

return a;
}

int*
insercion( int a[], int n )
{
int i, j, aux;

for ( i = 1; i < n; i++ )
{
j = i;
aux = a[i];
while ( j > 0 && aux < a[j-1] )
{
a[j] = a[j-1];
j--;
}
a[j] = aux;
}

return a;
}

int*
seleccion( int a[], int n )
{
int i, j, indicemenor, aux;

for ( i = 0; i < n - 1; i++ )
{
indicemenor = i;
for ( j = i + 1; j < n; j++ )
if ( a[j] < a[indicemenor] )
indicemenor = j;
if ( i != indicemenor )
{
aux = a[i];
a[i] = a[indicemenor];
a[indicemenor] = aux;
}
}

return a;
}

Salu10.
« Última modificación: 27 Mayo 2010, 04:23 am por nicolas_cof » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ordenamientos Burbuja, Insercion y Shell en C++
Programación C/C++
Norochii 0 4,613 Último mensaje 25 Mayo 2011, 18:40 pm
por Norochii
Habilitar inserción de swf en un foro
Seguridad
lnvisible 1 1,968 Último mensaje 27 Noviembre 2011, 19:10 pm
por #!drvy
de nuevo con insercion directa
Programación C/C++
MessageBoxA 6 2,986 Último mensaje 27 Mayo 2014, 06:02 am
por MessageBoxA
insercion de fecha con php
PHP
d91 3 1,748 Último mensaje 11 Octubre 2014, 23:43 pm
por JorgeEMX
Inserción de datos ABB con archivos
Programación C/C++
eduardo1012 1 1,756 Último mensaje 27 Octubre 2016, 21:52 pm
por eduardo1012
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines