This is supposed to be a grid and it's supposed to have different letters on the grid in different directions. But only one letter is showing up on my code
lines 45,53,61,69: These are function declarations, not function calls. If you meant these as function declarations, there is no need for them here as you've already declared them at lines 11-14.
From the meaning of the word "initialize" and your comment on line 20, one would assume you are supposed to assign dots ('.') in initialize_grid, - not try to put lots of other routines in there.
1 2 3 4 5 6 7
void initialize_grid(char grid[M][N])
{
for(int i = 0; i < M; i++)
{
for(int j = 0; j < N; j++) grid[i][j] = '.';
}
}