Hola buenas,
Primero de todo, queria decirte que, como bien dice nuestro compañero class_OpenGL, el codigo en si tiene un error bastante grave a la hora de declarar el vector.
Ya que le dices que es de tamaño 15.
Pero si el usuario introduce 20, el bucle for ara 20 vueltas, es decir v1[16]por ejemplo, te petaria el programa porque la posicion 16 no existe
Seguidamente. no se si he entendido bien tu pregunta.
He entendido que quieres crear un vector de enteros, en el qual vas introduciendo numeros sin que se repitan, es decir que si quieres introducir un 2 y ya esta introducido, cree un vector con los numeros sin repetir.
Si es lo que he entendido, yo creo que es mas facil hacer una busqueda de los numeros ya introducidos y mirar si el que quieres introducir esta o no.
En caso de que este no se lo dejas introducir y le vuelves a pedir otro numero.
Te dejo aqui el codigo que he echo suponiendo que he entendido bien tu pregunta.
#include <iostream>
using namespace std;
int main()
{
int Numero; //Declaro variable Numero que es el tamaño del vector
int i=0,j, NumeroIntroducir; //Declaro "i" y "j" que los usare de contadores
//Declaro un booleano para hacer una busqueda en el vector de enteros
bool bBuscaNumero = false;
//Pedimos el tamaño del vector
do{
cout << "Tamaño del vector: ";
cin >> Numero;
//Controlamos que el usuario no ponga 0
if(Numero<=0)
cout<<"Tamaño de vector incorrecto" <<endl;
}while(Numero<=0);
//Lo declaramos con el tamaño pedido anteriormente
int v1[Numero];
//Hacemos un do-while para que vaya haciendo todo el vector
do{
//Pedimos que introduzca numero
cout << "Introduce numero: ";
cin >> NumeroIntroducir;
/*Le decimos que si la i es diferente a 0 entre
Esto es para que la primera vuelta assigne numero si o si ya que no estan repetidos*/
if (i!=0){
//Ponemos j a 0 y el booleano en falso
j=0;
bBuscaNumero = false;
/*Mientras la j sea mas pequeña que la i (posicion hasta la que tendra numeros rellenados)
Y el booleano sea falso*/
while(j<i && !bBuscaNumero){
/*si el numero del vector que esta en la posicion j
es igual al numero pedido al usuario*/
if(v1[j]==NumeroIntroducir)
bBuscaNumero = true; //pondremos el booleano en true
else
j++;//sino pasaremos a la siguiente posicion
}
if(!bBuscaNumero){ //Si el booleano es falso (es decir que no lo ha encontrado)
v1[i]=NumeroIntroducir; //Lo introducimos
i++; //I sumamos una posicion mas
}else{
cout <<"Numero ya introducido"<<endl;//Informamos de que lo ha encontrado
}
}else{
//Aqui añadimos el primer numero a la primera posicion
v1[0]=NumeroIntroducir;
i++; //y sumamos una posicion mas
}
}while(i<Numero); //Mientras la i sea mas pequeña que el Numero (tamaño de vector) ara todo lo anterior
return 0;
}