system("pause"); non ha effetto perché stai usando gcc sotto Cygwin come compilatore, che probabilmente richiama come interprete dei comandi una qualche shell *nix (probabilmente bash o csh) che non riconosce pause.
Come già detto qualche milione di volte, MAI usare la system, non si sa mai a cosa si va incontro. Al suo posto metti un
.codice:getch();