1.- A continuación se muestra el código de implementación dev c++ ,de una búsqueda de la cual usted debe de indicar que búsqueda es (secuencial, binaria o hast) indicar que hace el código y que resultado arroja
#include <cstdlib>
#include <iostream>
#define max 100
using namespace std;
void ingresarArreglo(float A[max],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<<" A["<<i+1<<"]=";
cin>>A[i];
}
cout<<endl;
}
void reportarVector(float V[max],int n)
{
int i;
for(i=0;i<n;i++)
{
cout<< V[i]<<"\t";
}
cout<<endl<<endl;
}
void ordenarSeleccion(float V[max],int n)
{
int i,j,k;
float temp;
for(i=0;i<n-1;i++)
{
k=i;
temp=V[i];
for(j=i+1;j<n;j++)
{
if(V[j]<temp)
{
k=j; temp=V[j];
}
}
V[k]=V[i] ;
V[i]=temp;
}
}
int busquedaBinaria(float V[max],int n ,int dato)
{
int mitad,izq,der; izq=0;
der=n-1;
while(izq<=der)
{mitad=(izq+der)/2
if(dato>V[mitad izq=mitad+1
else if(dato<V[mitad
der=mitad-1;
else return mitad;
}
return -1;
}
int main(int argc, char *argv[])
{
float A[max];
int n,p=0,dato;
int pos;
cout<<"ingrese numero de elementos :"; cin>>n;
ingresarArreglo(A,n); cout<<"vector ingresado"<<endl; reportarVector(A,n); ordenarSeleccion(A,n);
cout<<"el vector ordenado:"<<endl; reportarVector(A,n);
cout<<"ingrese numero a buscar:"; cin>>dato; pos=busquedaBinaria(A,n,dato);
{ if(pos ==-1)
cout<<"el dato no esta en el arreglo"<<endl;
else
cout<<"el dato se encontro en la posicion:"<<pos
+1<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}
El tipo de busqueda de este codigo es Binaria y esto lo podemos ver porque es una busqueda con un arreglo ordenado a la vez que tiene un arreglo por seleccion, el cual muestra en pantalla el mensaje "el dato se encontro en la posicion:" junto a la posicion en la cual se encuentra el elemento buscado en primer lugar. Si el elemento no se encuentra entonces aparece en pantalla el mensaje "el dato no esta en el arreglo" concluyendo asi el algoritmo.
No hay comentarios:
Publicar un comentario