#include #include #include #include using namespace std; #include "a2.h" // solution to question 1: double geomean(double a[], int n) { if (a==NULL || n<=0) return 0.0; double mult=1.0; for (int i=0;i>s; if (s<0 || fin.fail()) { *size=0; return NULL; } *size=s; complex* a=new complex[s]; for (int i=0;i> a[i].real >> a[i].imaginary; } return a; } // solution to question 6: void process(const char* in1, const char* in2, const char* outname) { int size1=0; int size2=0; complex* a1=readIn(in1,&size1); complex* a2=readIn(in2,&size2); complex* a3=NULL; if (size1<=0 || size2 <=0 || size1!=size2) { writeOut(outname,NULL,0); } else { a3=multiplyArrays(a1,a2,size1); writeOut(outname,a3,size1); } delete[]a1; delete[]a2; delete[]a3; } void writeOut(const char* name, complex a[], int size) { ofstream fout(name); fout << size << " "; for (int i=0;i