elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  comparar un elemento con un vector c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: comparar un elemento con un vector c++  (Leído 8,308 veces)
indict

Desconectado Desconectado

Mensajes: 78


Ver Perfil
comparar un elemento con un vector c++
« en: 23 Enero 2013, 16:25 pm »

Hola, hago un programa que consiste en comparar un vector con un número, (función booleana). No se que sucede pero me devuelve siempre el valor "true". Si el elemento está en el vector me devuelve "true" y si no está también.  :(

Código:
#include<iostream>
#include<vector>
using namespace std;
bool todosiguales(vector<int>v,int e){
                                    int i;
                                    for(i=0;i<v.size();i++){if(v[i]!=e){return false;}}
                                    return true;}

int main(){
    int n, m, e,i;
    cout<<"introduzca el tamaño del vector"<<endl;
    cin>>n;
    vector<int>v(n);
    for(i=0;i<v.size();i++){
                            cout<<"introduzca los elementos del vector"<<endl;
                            cin>>v[i];
                            v[i]=e;
                            }
    cout<<"introduzca el elemento a comparar"<<endl;
    cin>>m;
   
    if(todosiguales(v,m)){cout<<"es identico el vector respecto el elemento"<<endl;}
    else{cout<<"el vector es distinto respecto el elemento"<<endl;}
    system ("pause");
    return 0;
    }

¡Gracias por la ayuda!


En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: comparar un elemento con un vector c++
« Respuesta #1 en: 23 Enero 2013, 19:24 pm »

Hola, hago un programa que consiste en comparar un vector con un número, (función booleana). No se que sucede pero me devuelve siempre el valor "true". Si el elemento está en el vector me devuelve "true" y si no está también.  :(

Citar
......................................................
                            cin>>v;
                           v=e;<==ESTO QUE ES ¡ ¡ ¡
                            }
    cout<<"introduzca el elemento a comparar"<<endl;
    cin>>m;

    ....................................................................


Y poco más:
Código
  1. #include<iostream>
  2. #include<vector>
  3. #include<cstdlib>
  4. #include<clocale>
  5. using namespace std;
  6. bool todosiguales(vector<int>v,int n,int e){
  7.  for(int i=0;i<n;i++){
  8.    if(v[i]==e)
  9.    return  true;
  10.    }
  11.    return false;
  12. }
  13.  
  14. int main(){
  15.    int n, m, e,i;
  16.    setlocale(LC_ALL, "Spanish");
  17.    cout<<"introduzca el tamaño del vector: ";
  18.    cin>>n;
  19.    vector<int>v(n);
  20.    for(i=0;i<n;i++){
  21.       cout<<"Introduzca el elemento "<<i+1<<" del vector: ";
  22.       cin>>v[i];
  23.    }
  24.    cout<<"introduzca el elemento a comparar: ";
  25.    cin>>m;
  26.  
  27.    if(todosiguales(v,n,m)){cout<<"es identico el vector respecto el elemento"<<endl;}
  28.    else{cout<<"el vector es distinto respecto el elemento"<<endl;}
  29.    system ("pause");
  30.    return 0;
  31.    }
  32.  


« Última modificación: 23 Enero 2013, 19:26 pm por leosansan » En línea

indict

Desconectado Desconectado

Mensajes: 78


Ver Perfil
Re: comparar un elemento con un vector c++
« Respuesta #2 en: 24 Enero 2013, 11:11 am »

muchas gracias por aclararme el fallo  :D

y si ahora quisiera que el programa me mostrará cierto si el valor a comparar es igual a todos los elementos del vector y falso si es distinto ¿qué matiz haría falta modificar?

un saludo
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: comparar un elemento con un vector c++
« Respuesta #3 en: 24 Enero 2013, 16:03 pm »

                      ...........................

y si ahora quisiera que el programa me mostrará cierto si el valor a comparar es igual a todos los elementos del vector y falso si es distinto ¿qué matiz haría falta modificar?

Código
  1. bool todosiguales(vector<int>v,int n,int e){
  2.  for(int i=0;i<n;i++){
  3.    if(v[i]==e)
  4.     return  true;
  5.    else
  6.     return false;
  7.  }
  8. }
Saluditos!.
En línea

indict

Desconectado Desconectado

Mensajes: 78


Ver Perfil
Re: comparar un elemento con un vector c++
« Respuesta #4 en: 24 Enero 2013, 21:48 pm »

aa claro toda la razon jeje.

Te debo un bucle infinito de gracias ;)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines