#include #include //balant yn says 4 seilirse floodfill fonksiyonunun kullanaca recursive fonksiyon. //stack dolu olduu zaman hata veriyor. void fill4(int **a,int r,int c, int nr, int nc ){ if (r <=0 && r < nr)//fonksiyonu dizinin satr ba ve sonundan snrlandrr. { if (c <= 0 && c < nc)//fonksiyonu dizinin stun ba ve sonundan snrlandrr. { if (a[r][c]=='E') { a[r][c]='P'; fill4(a, r-1 ,c , nr, nc);//st, fill4(a, r ,c-1, nr, nc);//sol, fill4(a, r ,c+1, nr, nc);//sa, fill4(a, r+1 ,c , nr, nc);//alt iin fonksiyonu yeniden arr. } } } } //balant yn says 8 seilirse floodfill fonksiyonunun kullanaca recursive fonksiyon. //stack dolu olduunda hata veriyor. void fill8(int **a, int r, int c, int nr, int nc ){ if (r <=0 && r < nr)//fonksiyonu dizinin satr ba ve sonundan snrlandrr. { if (c <= 0 && c < nc)//fonksiyonu dizinin stun ba ve sonundan snrlandrr. { if (a[r][c]=='E') { a[r][c]='P'; fill8(a, r-1, c-1, nr, nc);//st sol, fill8(a, r-1, c , nr, nc);//st orta, fill8(a, r-1, c+1, nr, nc);//st sa... fill8(a, r , c-1, nr, nc); fill8(a, r , c+1, nr, nc); fill8(a, r+1, c-1, nr, nc); fill8(a, r+1, c , nr, nc); fill8(a, r+1, c+1, nr, nc); } } } } int floodfill(int **a, int r, int c, int cn, int nr, int nc) { if(a[r][c]=='E') { if(cn==4) { fill4(a,r,c,nr,nc); } else { fill8(a,r,c,nr,nc); } } else { if(a[r][c]='C') { printf("please choose an empty node. \n"); } } } int main (void) { int cn,nc,nr; int **nodes; int i,j,r,c; do { printf("Give The Connectivity Number.\n"); scanf("%d",&cn); if ( (cn != 4) && (cn != 8)) printf("Please Enter 4 Or 8.\n"); } while( (cn != 4) && (cn != 8) ); //matrisin satr ve stun saysn okur. printf("The Number Of Rows :\n"); scanf("%d",&nr); printf("The Number Of Colums:\n"); scanf("%d",&nc); //matris iin alan aar: nodes=(int**)malloc(sizeof(int*)*nr); for(i=0;i