HELP

I CAN'T FIGURE OUT WHATS WRONG WITH THIS PROGRAM.
ANY HELP APPRECIATED.
/*
* File: fillShapes.c
* This program outputs a filled version of a shape that you enter
*/
typedef int bool;

#include "simpio.h"
#include <stdio.h>
#include "genlib.h"

#define size 20;

void GetArray(char arr[][20]);
void fill(char arr[][20], int row, int col);
void disp(char arr[][20]);

main()
{
char arr[20][20];
int row, col;


GetArray(arr);
printf("\nEnter row of interior point: ");
row = GetInteger();
printf("Enter column of interior point: ");
col = GetInteger();
fill(arr, row, col);
disp(arr);
printf("\n");
getchar();
system("pause");
}

void GetArray(char arr[][20])
{
char input;
int i,j;
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
arr[i][j] = ' ';
}
}
printf("Enter the closed shape using asterisks and spaces. Keep the number of rows and columns under 20\n");
printf("To signal the end of the input, type '!'. Use the 'enter' key to move down rows\n\n");
i = 0;
j = 0;
while(TRUE)
{
input = getchar();
if(input == '\r')
{
printf("\n");
i++;

}
else if(input == '!')
break;
else
{
arr[i][j] = input;
j++;

}
}
i=0;
j=0;
printf("\n\nThe input shape is:\n");
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{

printf("%c",arr[i][j]);
}
}
}

void fill(char arr[][20], int row, int col)
{
if(row>=20 || col>=20 || row<0 || col<0 || arr[row][col]!=' ')
{}
else
{
arr[row][col] ='*';
fill(arr,row+1,col);
fill(arr,row,col+1);
fill(arr,row-1,col);
fill(arr,row,col-1);
}
}

void disp(char arr[][20])
{
int i,j;

printf("\nThe filled shape is:\n");
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
printf("%c",arr[i][j]);
}
printf("\n");
}
}
Why do you think there's something wrong with it?

Can you please use the code format tags to format your code.
Topic archived. No new replies allowed.