Grazie, il ciclo do-while va bene ma mi sono accorto che nel primo messaggio non mi sono espresso bene in fatti il tuo ciclo con for andava bene ma a me serviva che la variabile venisse confrontata con tutti gli elementi insieme, cioè se ho 9 elementi, per esempio da 1 a 9, non posso dare in input 9 risultando false finché nel ciclo for 'a' diventa uguale a 8, dovrebbe essere alla prima immissione confronta con tutti gli elementi dell'array se lo trova dai true e chiudi do while se no false e ricominci il ciclo do-while con una seconda immissione e così via
codice:
#include <iostream>
#include <conio.h>
using namespace std;
main()
{
     int i;
   int ar [9]= {1, 2 ,3 , 4, 5, 6, 7, 8, 9};
    cout << "premi un numero \n"<<endl;
    bool term = false;
    do      {
            for(int a=0;a<9;a++)
        {  cin >> i;
    if (i == ar[a])
    {
        cout<< "è presente \n"<<endl;
        term = true;
        break;
    }
    else 
    {
    cout<<"non è presente \n"<<endl;
    }
        }
            }while(term = false);
getch(); 
return 0;   
}