Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "simpio.h"
- #include "genlib.h"
- #define size 100
- bool initArray(bool a[size][size]);
- bool getshape(bool a[size][size]);
- void fill(int x, int y, bool a[size][size]);
- void printarray(bool a[size][size]);
- main()
- {
- int x, y;
- char i;
- bool a[size][size];
- initArray(a);
- getshape(a);
- printf("Enter the coordinates of the point the shape should be filled.\n");
- printf("x=n\n");
- x=GetInteger();
- printf("y=\n");
- y=GetInteger();
- fill(x,y,a);
- printarray(a);
- printf("Scroll up to view your filled shape\n");
- getchar();
- }
- bool initArray(bool a[size][size])
- {
- int i, j;
- for(i=0;i<100;i++)
- {
- for(j=0;j<100;j++)
- {
- a[i][j]=FALSE;
- }
- }
- }
- bool getshape(bool a[size][size])
- {
- int i, j, k;
- bool flag;
- char ch;
- ch=1;
- printf("Enter your shape. When you are finished, type 'E'. \n");
- for(i=0;i<100;i++)
- {
- flag=TRUE;
- for(j=0;ch!=10;j++)
- {
- ch=getchar();
- if(ch==69)
- {
- return a;
- }
- if(ch!=32) a[i][j]=TRUE;
- }
- ch=1;
- }
- }
- void fill(int x, int y, bool a[size][size])
- {
- if(a[y][x]!=TRUE) a[y][x]=TRUE;
- if(a[y][x-1]!=TRUE) fill(x-1,y,a);
- if(a[y-1][x]!=TRUE) fill(x,y-1,a);
- if(a[y][x+1]!=TRUE) fill(x+1,y,a);
- if(a[y+1][x]!=TRUE) fill(x,y+1,a);
- }
- void printarray(bool a[size][size])
- {
- int i, j;
- printf("\n\n\n");
- for(i=0;i<100;i++)
- {
- for(j=0;j<100;j++)
- {
- if(a[i][j]==FALSE) printf(" ");
- if(a[i][j]==TRUE) printf("*");
- }
- printf("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement