Prima di tutto grazie ad entrambi.
Adesso mi spiego meglio, guardando il codice mi sarei aspettato che se il vettore avesse dimensione ad es. 5, DIM-1=4 quindi il valore di i al termine del ciclo while sarebbe sempre stato comunque 3.
Quindi al termine del ciclo dopo che il valore di i calcolato è 3, il programma esegue la riga corrispondente all'if (tra l'altro scusate, mi sono reso conto di alcuni errori nel riportare il codice ) , adesso lo riporto tutto e corretto con il copia e incolla.
Se eseguite il codice e cercate un numero di quelli all'interno del vettore, il programma calcola correttamente l'indice in cui si trova il numero....
Il programma è semplice, ma mi ha messo in crisi!!! Grazie ancora per il vostro supporto. Tra parentesi per comportarsi come si comporta mi sarei aspettato tutte le istruzioni dopo il while racchiuse da { }, ma sembra che siano inutili, perché funziona anche senza.....
_________________________
#include<iostream>
using namespace std;
main () {
const int DIM=5;
int vett01[5]={3,6,8,10,12};
int i, valore;
cout<<"\nil vettore inserito e\': ";
for (int h=0;h<DIM;h++) cout<<vett01[h]<<" ";
cout<<"\nQuale valore dobbiamo cercare?: ";
cin>>valore;
i=0;
while (valore!=vett01 && i<DIM-1) i++;
if (vett01%valore==0)
cout<<" valore trovato in : "<<i;
else
cout<<"valore non presente nel vettore";
}