Open dz0 opened 9 years ago
#include <iostream> #include <fstream> #include <iomanip> #include <string> using namespace std; int x1, y1; struct komandos{ int k; int seka[30]; int x; int y; }; int main(){ ifstream duomenys("U2.txt"); ofstream rezultatai("U2rez.txt"); int x0, y0, n; duomenys>>x0>>y0>>x1>>y1>>n; struct komandos cmd[n]; for(int i=0; i<n; i++){ duomenys>>cmd[i].k; for(int j=0; j<cmd[i].k; j++){ duomenys>>cmd[i].seka[j]; } } int k, a; //a yra uzkoduota komanda for(int i=0; i<n; i++){ cmd[i].x=x0; cmd[i].y=y0; k=cmd[i].k; for(int j=0; j<k; j++){ a=cmd[i].seka[j]; switch(a){ case 1: cmd[i].y++; break; case 2: cmd[i].x++; break; case 3: cmd[i].y--; break; case 4: cmd[i].x--; break; } if(cmd[i].x==x1 && cmd[i].y==y1){ cmd[i].k=j+1; break; } } } cout<<cmd[0].x<<" "<<cmd[0].y<<endl; for(int i=0; i<n; i++){ if(cmd[i].x==x1&&cmd[i].y==y1){ rezultatai<<left<<setw(20)<<"pasiektas tikslas"; } else { rezultatai<<left<<setw(20)<<"sekos pabaiga"; } for(int j=0; j<cmd[i].k; j++){ rezultatai<<cmd[i].seka[j]<<" "; } rezultatai<<cmd[i].k<<endl; } return 0; }