#include #include int main(void){ double x = 0, y = 0, d, prva, druha; int c, i, j, k; long int xx = 0, yy = 0, xy = 0, yx = 0; char cislo[20], smer[3], znak; do{ znak = getc(stdin); if (znak == 'E') break; i = 0; while(znak < '0' || znak > '9'){ znak = getc(stdin); if (znak == 'E') exit(0); } while(znak >= '0' && znak <= '9'){ cislo[i++] = znak; znak = getc(stdin); } cislo[i] = 0; sscanf(cislo,"%d", &c); i = 0; while(znak != ',' && znak !='.'){ smer[i++] = znak; znak = getc(stdin); } smer[i] = 0; if(!strcmp(smer, "N")) yy += c; else if(!strcmp(smer, "S")) yy -= c; else if(!strcmp(smer, "W")) xx -= c; else if(!strcmp(smer, "E")) xx += c; else{ if(smer[0] == 'N'){ if(smer[1] == 'E') xy += c; else yx += c; }else{ if(smer[1] == 'E') yx -= c; else xy -= c; } } if (znak == '.'){ x = xx + ((xy-yx)* .70710678118654752440084436210484903928483593768847); y = yy + ((xy+yx)* .70710678118654752440084436210484903928483593768847); d = sqrt(x*x+y*y); if (x < 0.0005 && x >= -0.0005) x = 0; if (y < 0.0005 && y > -0.0005) y = 0; printf("You can go to (%.3f,%.3f), the distance is %.3f steps.\n", (float)x, (float)y, (float)d); xx = 0; yy = 0; xy = 0; yx = 0; } }while(1); return 0; }