#include #include FILE *fp; #define FRESH 1 #define CLOSED 0 #define OPEN 2 void Konec(void) { fclose(fp);exit(1); } void Init(char *fname) { if ((fp=fopen(fname,"rt")) == NULL) {printf("\nFile opening error.\n");exit(1);} } int NextToken(void) { char c; int i=0; c=fgetc(fp); if (c==EOF) {printf("\nBad input.\n");Konec();} while (c==' ' || c=='\t' || c=='\n') c=fgetc(fp); while (isdigit(c)) {i=i*10+(c-'0');c=fgetc(fp);} ungetc(c,fp); return(i); } int fronta[40]; int f=0,l=0; void InitFronta (void) { f=0;l=0; } void UlozFronta(int a, int b) { fronta[f++]=a;fronta[f++]=b; } int PrazdnaFronta(void) { if (f==l) return 1; else return 0; } int FrontaFirst(void) { int v=fronta[l++]; if (l>40) l=0; return v; } int main (int argc, char *argv[]) { int mx,my,x,y,x1,y1,x2,y2,i,sx,sy; int px[20][20],py[20][20],cesta[40]; int pole[20][20][5]; //0 - vyska, visited //1-4 - smer printf("\n\n"); if (argc==1) Init("test.txt"); else Init(argv[1]); mx=NextToken(); my=NextToken(); if (mx>20 || mx<1 || my>20 || my<0) {printf("Number of roads must be 1..20");Konec();} for (x=0; x0) { printf("%d-%d",cesta[i--]+1,cesta[i--]+1); if (i>0) printf(" to "); } } } x=NextToken()-1;y=NextToken()-1;x2=NextToken()-1;y2=NextToken()-1; } return(0); }