#include <iostream>
#include <fstream>

using namespace std;

class Complex{
private:
int _im;
int _real;
public:
Complex(){
this -> _im = 0;
this -> _real = 0;
}
Complex(int im, int _ireal){
this -> _im = im;
this -> _real = _ireal;
}
friend istream & operator >> (istream &is, Complex &sp){
is >> sp._real;
is >> sp._im;
return is;
}
friend ostream & operator << (ostream &os, Complex &sp){
os << sp._real;
os << sp._im;
return os;
}
Complex operator / (const Complex &sp){
return Complex(((_real*sp._real+_im*sp._im)/(sp._real*sp._real+sp._im*sp._im)),((_im*sp._real-_real*sp._im)/(sp._real*sp._real+sp._im*sp._im)));
}
Complex operator - (const Complex &sp){
return Complex((_real - sp._real),(_im - sp._im));
}
Complex operator + (const Complex &sp){
return Complex((_real + sp._real),(_im + sp._im));
}
int readComplex(char* filename, Complex c[], int &n){
fstream f ("input.txt", ios :: in);
if(!f){
cout << "File khong mo duoc" << endl;
return 0;
}
f >> n;
int i = 0;
while(!f.eof()){
f >> c[i];
i++;
}
f.close();
return 1;
}
int writeComplex(char *filename, Complex c[], int &n){
fstream f("output.txt", ios :: app);
if(!f){
cout << "File khong mo duoc" << endl;
return 0;
}
for(int i = 0; i < n; i++){
f << c[i] << " ";
}
f.close();
return 1;
}
};

int main(int argc, char* argv[]){
Complex c[100];
Complex f;
int n;
cout << "Nhap n: ";
cin >> n;
f.readComplex(argv[2], c, n);
f = (c[0] - c[1]);
f = (c[0] - c[1])/c[2];
f.writeComplex(argv[2], c, n);
}

View more random threads: