jueves, 21 de enero de 2016

Ejercicio 1.

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=jtemp=V[j];
}
}
V[k]=V[i] ;
V[i]=temp;
}
}
int  busquedaBinaria(float V[max],int ,int dato)
{
int mitad,izq,derizq=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 argcchar *argv[])
{
float A[max];


int n,p=0,dato;
int pos;
cout<<"ingrese numero de elementos :"cin>>n;
ingresarArreglo(A,n)cout<<"vector ingresado"<<endlreportarVector(A,n)ordenarSeleccion(A,n);
cout<<"el vector ordenado:"<<endlreportarVector(A,n);

cout<<"ingrese numero a buscar:"cin>>datopos=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