domingo, 21 de abril de 2013

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