If you don't initialize arrays, you can't be sure what value the elements contain, never good.
To tie in with the array thing, you've looped twice, with 'magic numbers'. In such a case, I think a define statement would be better (makes it easier to modify later)
As for the number of games, I suspect that this is how many times you want them to enter 6 numbers, though no loop exists.
As far as I'm aware, that's an extravagant set of includes you have there. Going by the code you've placed below, all of them aren't needed.
I'm not sure about the system("PAUSE") statement so I've left the library and the statement out. Sorry for that one.
Code:
#include <stdio.h>
#define ARRAYSIZE 6
#define GAMESIZE 5
int main(void) {
int lotto[GAMESIZE][ARRAYSIZE]; /* multi-dimensional array (2-D) */
int games = 0, r = 0, i = 0;
/* initialise array elements */
for (i = 0; i < GAMESIZE; i++) {
for (r = 0; r < ARRAYSIZE; r++)
lotto[i][r] = 0;
}
printf("How many games would you like to play?(%d games max) ", GAMESIZE);
scanf("%d", &games);
printf("Enter your %d numbers:\n", ARRAYSIZE); /* keeps in sync with any changes */
/* get numbers for games */
for (i = 0; i < games; i++) {
for (r = 0; r < ARRAYSIZE; r++)
scanf("%d", &lotto[i][r]);
}
/* print numbers */
for (i = 0; i < games; i++) {
for (r = 0; r < ARRAYSIZE; r++)
printf("%d ", lotto[i][r]);
printf("\n");
}
printf("\n");
return 0;
}