Este es el código del programa de la práctica 11 Método de búsqueda secuencial
#include<iostream.h>
#include<conio.h>
#define max 50 //este valor depende del usuario
void ingresarArreglo(int A[max],int n)
{ int i;
for(i=0;i<n;i++)
{ cout<<"A["<<i+1<<"]=";
cin>>A[i];
}
cout<<endl;
}
void reportarVector(int V[max],int n)
{ int i;
for(i=0;i<n;i++)//recorre el arreglo
{ cout<<V[i]<<" ";
}
cout<<endl;
}
//funcion de ordenacion por el metodo de seleccion
void ordenarSeleccion(int V[max],int n)
{ int i,j,k;
float temp;
for(i=0;i<n-1;i++)
{ k=i;
temp=V[i];//el primer valor del arreglo lo asignamos a un temporal
//para luego compararlo con los demas valores del arreglo hasta encontrar el menor valor
for(j=i+1;j<n;j++)
{ if(V[j]<temp)//si encontramos un valor que sea menor que el primer valor del arreglo (temp)
//entonces intercambiamos de posicion,los mismos pasos se repetira hasta que arreglo sea ordenado completamente
{ k=j;
temp=V[j];
}
}
V[k]=V[i];
V[i]=temp;
}
}
//funcion de busqueda secuencial, solo funciona para arreglos ordenados y desordenados
int busquedaSecuencial(int A[max], int n, int dato)
{ int i;
for(i=0;i<n;i++) //Buscar por todo el arreglo
{ if (A[i]==dato) //si el elemento del arreglo es igual al dato buscado
return i; //regresa la posicion del elemento buscado
}
return -1; //Si no error
}
void main()
{ int A[max];
int n,dato;
int pos;
clrscr();
cout<<"Ingrese numero de elementos: ";
cin>>n;
ingresarArreglo(A,n);
cout<<"Vector ingresado"<<endl;
reportarVector(A,n);
cout<<endl;
ordenarSeleccion(A,n);
cout<<"El vector ordenado: "<<endl;
reportarVector(A,n);
cout<<endl;
cout<<"Ingrese numero a buscar: ";
cin>>dato;
pos=busquedaSecuencial(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; //Se imprime la posición del elemento
} //encontrado
getch();
}
No hay comentarios.:
Publicar un comentario