Originariamente inviato da Who am I
Il problema è che quando dichiari:

codice:
for(int i=1;i<90;i++)
{
    // qua i esiste
}
// qua i non esiste
La variabile i è locale al for, cioè esiste dentro lo scope del for ma poi cessa di esistere.
L' alternativa è dichiarare i fuori dal for:
codice:
int i;
for(i=1;i<90;i++)
{...}
PS: Per controllare se funziona testa tanti input, prova ad esempio array come {1,2,3,1,2}.Non credo sia giusta la tua soluzione.

In effetti definendo i all'inizio del programma non mi da piu' errore
Però...

in questo codice non mi sente per nulla nè il cin.get();
(va fino in fondo fino all'ultimo valore senza fermarsi)
nè l'if che considera solo alla fine rispetto a quando dovrebbe...
e solo per stampare al video il cout senza alcun controllo...
Per il resto dovrebbe funzionare anche se non è tanto una soluzione dinamica
in quanto ad ogni numero di elementi che varia devo riportare l'esatto valore
correttamente nelle giuste posizioni del codice... però per adesso potrebbe bastarmi
avendo da analizzare solo gruppi di 30 elementi.

codice:

for(i=1;i<90;i++)

cout << i << ": " << va[i] << "\n";

cin.get();


if (va[i]>=3) {
 
 cout << "Ok se non mi desse errore.. ci sarei quasi!" ;             
              
}                   


cin.get();

//----------------------------------
come mai quindi non si ferma ad ogni valore i esaminato?

Trovato l'errore forse... Non mettevo le parentesi graffe dopo il for!!! Giusto???

Che skiappa che sonoooooo !!!