miércoles, 11 de marzo de 2015

¿Cómo buscar un número en un Arreglo o Vector?

Siguiendo con el tema de vectores o arreglos unidimensionales, veremos como buscar un número ingresado por teclado, en un arreglo de 10 números. Vale decir que para hacer más grande el arreglo se puede agregar una variable más y pedir al usuario que agregue la cantidad de números que desee almacenar en el arreglo respectivo.


Ahora vamos al grano, con el código en Dev-C++:


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    //PARA BUSCAR UN NUMERO EN UN ARREGLO DE 10 NUMEROS:
           
    //declaro el arreglo de tipo entero
    int num[10];
 
    //declaro la variable que almacenara al numero que quiero buscar en el arreglo
    int n;
    
    //declaro una varibale ban que me indicara si se encuentra o no el numero en el arreglo
    int ban=0;
    
    //procedo a leer el arreglo 
    for(int i=0; i<10; i++){
        cout<<"Ingrese numero: ";  
        cin>>num[i];          
            }
            
    //ahora ingreso el numero a buscar en el arreglo
    cout<<endl<<endl<<"Ingrese numero a buscar: ";
    cin>>n;

    //BUSCO EL NUMERO INGRESADO EN EL ARREGLO
            for(int i=0; i<10; i++){
                 if(n==num[i]){
                        ban=1;
                cout<<endl<<"el numero "<<n<<" se encuentra en la posicion: "<<" ["<<i+1<<"] "<<endl; 
                            break;                   
                         }
                 else{
                              ban=0;
                              }
                    }
                    
                 if(ban==0){
                      cout<<endl<<endl<<"el numero no se encuentra en el arreglo"<<endl;
                 }
 
              
       
    system("PAUSE");
    return EXIT_SUCCESS;
}
 

Es todo...

INTERPOLACION DE LAGRANGE EN C++


Polinomio de interpolación de Lagrange:




La interpolación de Lagrange es una de las interpolaciones más útiles en integración numérica, está consiste en una representación de polinomios de la función:
Esta interpolación pasa por los puntos n+1 dados:



Para hallar la Interpolacion de Lagrange se tiene que seguir ciertas fórmulas, nosotros veremos un algoritmo en el cual no es necesario utilizar las fórmulas basta con lo siguiente:



Ahora vemos como sería el código en C++:

#include<iostream.h>
#include<conio.h>
void main(){
float x[50],y[50],z,l, valor=0;
int n;

cout<<"ingrese el numero de elementos: "; cin>>n;
cout<<"ingrese x: ";

   for(int i=0; i<n; i++){
 cin>>x[i];
    }

      cout<<endl;
      cout<<"ingrese y: ";
for(int i=0; i<n; i++){
              cin>>y[i];

}
  cout<<endl;
  cout<<endl<<"ingrese z: "; cin>>z;

 for(int i=0; i<n ;i++){
        l=y[i];
        for(int j=0; j<n; j++){
          if(i!=j){
             l=(l*(z-x[j]))/(x[i]-x[j]);
            }
        }
       valor=valor+l;
 }

 cout<<endl<<endl<<"El valor al polinomio de interpolacion en Z= "<<z <<" es : "<<valor;
 getch();
 }

En Dev c++ sería de la siguiente forma:



#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    float x[50],y[50],z,l, valor=0;
int n;

cout<<"ingrese el numero de elementos: "; cin>>n;
 cout<<"ingrese x: ";

for(int i=0; i<n; i++){
 cin>>x[i];
}

      cout<<endl;
cout<<"ingrese y: ";
for(int i=0; i<n; i++){
              cin>>y[i];

}
  cout<<endl;

cout<<endl<<"ingrese z: "; cin>>z;

 for(int i=0; i<n ;i++){
        l=y[i];
        for(int j=0; j<n; j++){
          if(i!=j){
             l=(l*(z-x[j]))/(x[i]-x[j]);
            }
        }
       valor=valor+l;
 }

 cout<<endl<<endl<<"El valor al polinomio de interpolacion en Z = "<<z<<" es : "<< valor<<endl;
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
 


DESCARGA EL ARCHIVO AQUÍ