adesso è molto più chiaro, anche riguardando il tuo codice. Il cin c'è ma è all'esterno del ciclo,
Il metodo che hai scelto è giusto, con il while e la funzione (anche se dovrebbe fare solo un'istruzione...). Non devi però passare l'array ma il numero stesso che devi inserire e la posizione nell'array (int cont nel tuo caso), mentre l'array lo puoi dichiarare globale (fuori da qualsiasi funzione) e non hai bisogno di dichiararlo ogni volta.
Quindi
Codice:
const int arraySize = 100;
int array[arraySize] = {0};
int riempiArray(int number, int count)
{
array[count] = number;
}
int main()
{
int count = 0;
int number
while(cin>>number)
{
if (number != -1 && number%5 != 0)
{
riempiArray(number, count)
count++;
}
//ecc
...
}
return 0;
}
Poi dovresti fare una funzione stampaArray che cicla fra tutti gli elementi finchè trova un 2, memorizza la posizione del 2 in un altro numero, fa un nuovo ciclo del tipo
Codice:
int oldpos = 0;
for (int i = 0....
{
if (array[i] == 2)
{
...
for (int i2 = oldpos; i2<i; i++)
{
cout<<array[i2];
}
int oldpos = i; // oldpos è la posizione del 2 che abbiamo appena trovato (i è la posizione attuale)
}
}
Se vuoi ti posto il mio codice...