hola amigos estaba leyendo el problema,
CitarSe 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
#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
cin.get();
getchar();
es que no me funciona separados y quiero dejar de usar el system("PAUSE");
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
me respondo ya lo saque ;D ;D ;D
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