#include #include using namespace std; class pattern{ public: double th[1536]; double I[1536]; double err[1536]; }; pattern& operator>> (ifstream& x, pattern& y){ for(int i = 0; i < 1536; i++){ x >> y.th[i]; x >> y.I[i]; x >> y.err[i]; } return y; } ostream& operator<< (ostream& x, pattern& y){ for(int i = 0; i < 1536; i++){ x << y.th[i] << "\t" << y.I[i] << "\t" << y.err[i] << endl; } return x; } pattern operator+ (pattern& x, pattern& y){ pattern p; for(int i = 0; i < 1536; i++){ p.th[i] = (x.th[i] + y.th[i])/2; p.I[i] = (x.I[i] + y.I[i])/2; p.err[i] = (x.err[i] + y.err[i])/2; } return p; } int main(int argc, char *argv[]){ if(!argv[1]){ cout << "Podaj nazwe pliku! " << endl; return 1; } ifstream plik; plik.open(argv[1]); pattern p1, p2, p3; plik >> p1; plik.close(); plik.open(argv[2]); plik >> p2; plik.close(); p3 = p1 + p2; cout << p3; return 0; }