Che il tuo esercizio fosse preso dal TIC l'avevo capito dal commento sull'ultima riga di codice
Non capisco quella frase, sinceramente. Potrebbe essere stata tradotta male, anche perchè l'unico modo che conosco per rendere "più dinamico" un array è attraverso l'uso di puntatori e la funzione malloc(). Ti faccio un esempio, ma non sapendo a che livello sei arrivato, non so quanto capirai (spero tutto!)
codice:
int main() {
   int *mioArray;
   int i;

   // Ora dimensiono l'array in modo che contenga 5 interi
   mioArray = (int*) malloc(5 * sizeof(int));

   // Ci lavoro: lo riempio
   for (i=0; i<5; i++) mioArray[i] = i;
   for (i=0; i<5; i++) printf("Ecco l'elemento %d: %d\n", i, mioArray[i]);

   // Ora lo ridimensiono, lo faccio raddoppiare di dimensione
   mioArray = (int*) malloc(10 * sizeof(int));

   // Ci lavoro di nuovo:
   for (i=0; i<10; i++) mioArray[i] = i;
   printf("\nNuovi valori:\n\n");
   for (i=0; i<10; i++) printf("Elemento %d: %d", i, mioArray[i]);

   return 0;
}
Ciao.