prima del for metti srand((unsigned int) time(NULL));
per generare un seme ogni volta diverso (e non ottenere uguali risultati da rand, ad ogni avvio dell'applicativo).

Attenzione al for
codice:
int n01;
int n02;
int n03;
int n04;
int n05;
int n06;
int n07;
int n08;
int n09;
lo hai tradotto in:
codice:
int n[9]
quindi:
codice:
for (unsigned int i = 0; i < 9; i++)
   {
   n[i] = rand() % 3 + 1;
   }
Dovresti creare funzioni a se stanti, che non necessitino di un contesto per funzionare.
Un esempio potrebbe essere una funzione per inizializzare un vettore, con valori casuali...
Impara a passare un array ad una funzione