Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: flony en 5 Noviembre 2012, 02:20 am



Título: problema con vectores
Publicado por: flony en 5 Noviembre 2012, 02:20 am
hola amigos estaba leyendo el problema,
Citar
Se pide la implementación de un programa en lenguaje C para rellenar un vector de 10 números enteros sin que se repita ningún valor. El programa deberá controlar que cuando el usuario introduzca un nuevo valor éste no haya sido introducido previamente; si dicho valor ya existe en el vector el programa deberá volver a pedir otro hasta que el que se introduzca no exista.
que era de otro tema del foro y se me dio por hacerlo en c++ y con 3, 10 es mucho y es en esencia lo mismo...he aquí la cuestión, y es que debo tener un error de lógica porque en el segundo for no lee si son iguales y lo peor compila de 10 + iva  :xD :xD :xD; acá pongo el code que saque
Código:
#include<iostream>
using namespace std;

int main ()
{
int n, i;
int vector[3];
for (int i = 0; i<=2; i++)
{
cout<<"ingrese el numero del vector"<<endl;
cin>>n;
vector[i]=n;
for (int i = 0; i<=i-1; i++)
{
if (vector[i]==n)
{
cout<<"este dato ya lo ingreso, ingrese otro"<<endl,
cin>>n;
vector[i]=n;
}
}
}
for (int i = 0; i<=2; i++)
{
cout<<"el vector es" << vector[i]<<";"<<endl;
}
cin.get();
getchar();
return 0;
}
lo de
Código:
cin.get();
getchar();
es que no me funciona separados y quiero dejar de usar el system("PAUSE");  


Título: Re: problema con vectores
Publicado por: rir3760 en 5 Noviembre 2012, 02:31 am
Es un error lógico: revisa con cuidado el nombre de la variable utilizada como contador en los dos bucles. De ahí se deriva el error (en el bucle interno).

Un saludo


Título: Re: problema con vectores
Publicado por: flony en 5 Noviembre 2012, 02:32 am
me respondo ya lo saque  ;D ;D ;D
Código:
int main ()
{
int n, i, j;
int vector[3];
for (int i = 0; i<=2; i++)
{
cout<<"ingrese el numero del vector"<<endl;
cin>>n;
vector[i]=n;
for (int j = 0; j<=i-1; j++)
{
if (vector[j]==n)
{
cout<<"este dato ya lo ingreso, ingrese otro"<<endl,
cin>>n;
vector[i]=n;
}
}
}
for (int i = 0; i<=2; i++)
{
cout<<"el vector es" << vector[i]<<";"<<endl;
}
cin.get();
getchar();
return 0;
}

era eso rir3760 debia cambiar el nombre de la variable del segundo for