NEED HELP

I DONT KNOW WHATS WRONG WITH THIS CODE AND IM FREAKING OUT.
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");
}
}
closed account (48T7M4Gy)
Please put your listing above between blocks so we can run it. While you are doing that tell us what is wrong, what is it supposed to do and what are the problems with the output if any - please appreciate that we are not clairvoyants. If you don't know what's wrong, albeit not know how to fix it, then how is anybody else supposed to know? :)
Topic archived. No new replies allowed.