Advertisement
Guest User

Untitled

a guest
May 2nd, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include "simpio.h"
  3. #include "genlib.h"
  4.  
  5. #define size 100
  6.  
  7. bool initArray(bool a[size][size]);
  8. bool getshape(bool a[size][size]);
  9. void fill(int x, int y, bool a[size][size]);
  10. void printarray(bool a[size][size]);
  11.  
  12.  
  13.  
  14. main()
  15. {
  16.       int x, y;
  17.       char i;
  18.       bool a[size][size];
  19.       initArray(a);
  20.       getshape(a);
  21.       printf("Enter the coordinates of the point the shape should be filled.\n");
  22.       printf("x=n\n");
  23.       x=GetInteger();
  24.       printf("y=\n");
  25.       y=GetInteger();
  26.       fill(x,y,a);
  27.       printarray(a);
  28.       printf("Scroll up to view your filled shape\n");
  29.       getchar();
  30. }
  31.  
  32. bool initArray(bool a[size][size])
  33. {
  34.      int i, j;
  35.      for(i=0;i<100;i++)
  36.      {
  37.                        for(j=0;j<100;j++)
  38.                        {
  39.                                          a[i][j]=FALSE;
  40.                        }
  41.      }
  42. }
  43.                          
  44. bool getshape(bool a[size][size])
  45. {
  46.       int i, j, k;
  47.       bool flag;
  48.       char ch;
  49.       ch=1;
  50.       printf("Enter your shape. When you are finished, type 'E'. \n");
  51.       for(i=0;i<100;i++)
  52.       {
  53.                          flag=TRUE;
  54.                          for(j=0;ch!=10;j++)
  55.                          {
  56.                                           ch=getchar();
  57.                                           if(ch==69)
  58.                                           {
  59.                                                     return a;
  60.                                           }
  61.                                           if(ch!=32) a[i][j]=TRUE;
  62.                          }
  63.                          
  64.                          ch=1;
  65.        
  66.       }
  67. }
  68.  
  69.  
  70. void fill(int x, int y, bool a[size][size])
  71. {
  72.     if(a[y][x]!=TRUE) a[y][x]=TRUE;
  73.     if(a[y][x-1]!=TRUE) fill(x-1,y,a);
  74.     if(a[y-1][x]!=TRUE) fill(x,y-1,a);
  75.     if(a[y][x+1]!=TRUE) fill(x+1,y,a);
  76.     if(a[y+1][x]!=TRUE) fill(x,y+1,a);
  77. }
  78.  
  79. void printarray(bool a[size][size])
  80. {
  81.      int i, j;
  82.      printf("\n\n\n");
  83.      for(i=0;i<100;i++)
  84.      {
  85.                        for(j=0;j<100;j++)
  86.                        {
  87.                                          if(a[i][j]==FALSE) printf(" ");
  88.                                          if(a[i][j]==TRUE) printf("*");
  89.                        }
  90.                        printf("\n");
  91.      }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement