Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <iomanip>
- #include <cmath>
- using namespace std;
- const char duomenys[]="/Users/dominykas/Desktop/Marsaeigis/duomenys.txt";
- const char rezultatai[]="/Users/dominykas/Desktop/Marsaeigis/rez.txt";
- struct fun
- {
- int k, l[200], j, h;
- };
- void nuskaityti(int & x0, int & x1, int & y0, int & y1, int & n, fun a[]);
- void skaiciuoti(fun a[], int x0, int x1, int y0, int y1, int x);
- void irasyti(fun a[], int n);
- int main()
- {
- fun a[100];
- int x0, y0, x1, y1, n;
- nuskaityti(x0, x1, y0, y1, n, a);
- for(int i=0; n>i;i++)
- {
- skaiciuoti(a, x0, x1, y0, y1, i);
- }
- irasyti(a, n);
- return 0;
- }
- void nuskaityti(int & x0, int & x1, int & y0, int & y1, int & n, fun a[])
- {
- ifstream fd(duomenys);
- fd>>x0>>y0>>x1>>y1>>n;
- fd.ignore(80,'\n');
- for(int i=0; n>i; i++)
- {
- fd>>a[i].k;
- for(int i2=0; a[i].k>i2; i2++)
- {
- fd>>a[i].l[i2];
- }
- fd.ignore(80,'\n');
- }
- fd.close();
- }
- void skaiciuoti(fun a[], int x0, int x1, int y0, int y1, int x)
- {
- for(int i=0; a[x].k>=i; i++)
- {
- if(x1==x0&&y1==y0)
- {
- a[x].h=1;
- a[x].j=i;
- break;
- }
- else{
- if(a[x].l[i]==1)y0++;
- if(a[x].l[i]==2)x0++;
- if(a[x].l[i]==3)y0--;
- if(a[x].l[i]==4)x0--;
- }
- }
- if(a[x].h!=1)
- {
- a[x].h=0;
- a[x].j=a[x].k;
- }
- }
- void irasyti(fun a[], int n)
- {
- ofstream fr(rezultatai);
- for(int i=0; n>i; i++){
- {
- if(a[i].h==1)fr<<setw(20)<<left<<"pasiektas tikslas ";
- if(a[i].h==0)fr<<setw(20)<<left<<"sekos pabaiga ";
- for(int i2=0; a[i].j>i2; i2++)
- {
- fr<<a[i].l[i2]<<" ";
- }
- fr<<a[i].j<<endl;
- }
- }
- fr.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement