The code is almost the same as the one before:
Code:
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <vector>
using namespace std;
class Koord { //varijabla vrijednosti koordinatnih tocaka x i y
public:
int x,y;
};
typedef vector<Koord>Tocke; //skup tocaka jednog puta
typedef vector<Tocke>Putovi; //svi putovi mape
int main(int argc, char* argv[])
{
Putovi trajektorije;
Tocke t;
int i,j;
if (argc == 2) { //ako je pri pozivu naveden samo jedan parametar stvara se ulazni tok dat i pridruzuje datoteci zadanoj kao parametar
ifstream dat (argv[1]);
if (!dat) {
cerr << "Nije moguce otvoriti zadanu datoteku"<<argv[1]<<endl;
}
while (!dat.eof()) {
int br, p=0;
dat >> br;
if (br == '\n') {
trajektorije.push_back(t);
p++;
}
else if ((p%2) == 0) {
t[p].x=br;
p++;
}
else {
t[p].y=br;
p++;
}
}
for(i=0; i < trajektorije.size(); i++)
for (j=0; j < t.size(); j++)
cout << "Put #" << j+1 << " se sastoji od slijedecih tocaka:" << '\t' << trajektorije[i][j] << endl;
}
return 0;
}