Nombre: menú para buscar ordenar insertar y eliminar repetitivi hasta la opción salir
Descripción:
crear menú para buscar ordenar insertar y eliminar repetitivi hasta la opción salir
URL: http://www.mygnet.net/codigos/cplusplus/varios/menu_para_buscar_ordenar_insertar_y_eliminar_repetitivi_hasta_la_opcion_salir.1573
Código Fuente:
#include<stdio.h>
#define tam 20
void main ()
{
int opcion,vector[tam],n,i,j,aux,pos,nbus,npos,li,ls,m,numero;
int menu () ;
printf("1. Buscarn");
printf("2. Ordenarn");
printf("3. Insertarn");
printf("4. Eliminarn");
printf("5. Salirn");
while (opcion!=5)
{
printf("nn Elije una opcion:");
scanf("%i", &opcion);
switch (opcion)
{
case 1:
// Introducir vector
printf ("¿Cuantos numeros quieres introducir?n");
scanf("%i",&n);
for (i=0;i<n;i++)
scanf ("%i",&vector[i]);
//ordenar vector
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if (vector[i]>vector[j])
{
aux=vector[i];
vector[i]=vector[j];
vector[j]=aux;
}}}
for(i=0;i<n;i++)
printf("%i",vector[i]);
printf ("n¿Que numero quieres buscar?");
scanf ("%i",&nbus);
li=0;
ls=n;
m= (li+ls)/2; // ----> formula para calcular la media
while (li<=ls)
{
if (vector[m]<nbus)
li=m+1;
else
{
if (vector[m]>nbus)
ls=m-1;
else
{
printf("n El numero %i, esta en la posicion %i",nbus,m+1);
break;
}
}
m=(li+ls)/2;
}
if (li>ls)
printf("n No se ha encontrado el numero %i",nbus);
break;
case 2:
printf ("Cuantos numeros quieres introducir:n");
scanf ("%i",&n);
printf ("introduce un numero:n");
for (i=0;i<n;i++)
scanf ("%i",&vector[i]);
for (i=0;i<=n-1;i++)
{
for (j=i+1;j<n;j++)
{
if (vector[i]>vector[j])
{
aux=vector[i];
vector[i]=vector[j];
vector[j]=aux;
}}}
for (i=0;i<n;i++)
printf ("n%i",vector[i]);
break;
case 3:
printf ("Introduce cuantos numeros quieres:n");
scanf ("%i",&n);
for (i=0;i<=n-1;i++)
{
printf ("Introduce un numero:n");
scanf ("%i",& vector[i]);
}
printf ("En que posicion quieres insertar el numero:n");
scanf ("%i",&pos);
printf ("Numero que vas a introducir:n");
scanf ("%i",&numero);
for (i=n;i>=pos+1;i--)
vector [i]=vector[i-1];
vector[pos]=numero;
for (i=0;i<=n;i++)
printf ("%i",vector[i]);
break;
case 4:
printf ("Introduce cuantos numeros quieres:n");
scanf ("%i",&n);
for (i=0;i<=n-1;i++)
{
printf ("Introduce un numero:n");
scanf ("%i",& vector[i]);
}
printf ("Que posicion quieres quitar:n");
scanf ("%i",&pos);
for(i=pos-1;i<=n-1;i++)
vector[i]=vector[i+1];
for (i=0;i<n-1;i++)
printf ("%i",vector[i]);
break;
case 5:
printf ("nFin del Programa");
break;
default:
printf ("opcion incorrecta");
}}}