Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define red 7
- #define kolona 7
- /*
- * Simboli:
- * '0' = Slobodna polja
- * '1' = Zidovi
- * 'P' = Pocetak
- * 'K' = Kraj
- * '+' = Put
- */
- char lavirint[red][kolona] = {
- "100111",
- "101110",
- "101000",
- "100010",
- "111110",
- "111000"
- };
- void ispisiLavirint(void){
- printf("Lavirint:\n");
- for(int i = 0; i < red; i++) printf("%.*s\n", kolona, lavirint[i]);
- printf("\n");
- return;
- }
- int nadjiPut(int y, int x){
- if( x < 0 || x > kolona - 1 || y < 0 || y > red - 1) return 0;
- if(lavirint[y][x] == 'K' ) return 1;
- if(lavirint[y][x] != '0' && lavirint[y][x] != 'P') return 0;
- lavirint[y][x] = '+';
- if(nadjiPut(y, x - 1) == 1) return 1;
- if(nadjiPut(y + 1, x) == 1) return 1;
- if(nadjiPut(y, x + 1) == 1) return 1;
- if(nadjiPut(y - 1, x) == 1) return 1;
- lavirint[y][x] = '0';
- return 0;
- }
- int main(void){
- int xp, yp, xk, yk;
- printf("Unesite koordinate pocetne tacke x y: ");
- scanf("%d %d", &yp, &xp);
- lavirint[yp][xp] = 'P';
- printf("Unesite koordinate krajnje tacke x y: ");
- scanf("%d %d", &yk, &xk);
- lavirint[yk][xk] = 'K';
- ispisiLavirint();
- if(nadjiPut(yp, xp) == 1){
- printf("Put nadjen!\n");
- ispisiLavirint();
- }
- else printf("Put nije pronadjen...\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement