//************************************************ //***********CLASA TEMPLATE VECTOR***************** //************************************************* //Postoarca Costinela, gr.1051 //#include "stdafx.h" #include "iostream.h" #include "conio.h" #include "fstream.h" #include "stdlib.h" templateclass vector { T *pv; int dim; friend int cresc(T a,T b) {return a>b?0:1;} T suma2(); T suma(); T prscalar(vector); public: vector(int); vector(vector&); ~vector() {delete[] pv;} T&operator[](int i){return pv[i];} int operator!(); vectoroperator+(vector); friend ostream&operator<<(ostream &,vector&); friend istream&operator>>(istream &,vector&); ofstream&operator<<(ofstream&); ifstream&operator>>(ifstream&); vector*operator+=(int); int operator==(vector&); int operator!=(vector&); int operator<(vector&); int operator>(vector&); operator vector() {return *pv;} void sort(int(*cresc)(T,T)); void regr_lin(vector,double&,double&); }; //constructorul clasei template vector::vector(int n) { pv=new T[n]; dim=n; for(int i=0;i vector::vector(vector &v) { for(int i=0;i> pe fisier standard) templateistream& operator>>(istream &is,vector &v) { for(int i=0;i>v.pv[i]; } return is; } //incarcarea operatorului>>pe disc templateifstream&vector::operator>>(ifstream&intr) { for(int i=0;i>pv[i]; } return intr; } //afisarea elementelor vectorului(incarcarea operatorului << pe fisier standard) templateostream& operator<<(ostream&os,vector &v) { os<<"\n\n"; for(int i=0;iofstream& vector::operator<<(ofstream&ies) { ies<<"\n\n"; for(int i=0;iint vector::operator !() { int i=0; while(ivector vector::operator +(vector v1) { vector v(dim+v1.dim); int i; for(i=0;ivector* vector::operator+=(int n) { pv[dim]=n; dim++; return this; } //incarcarea operatorului ==(verificarea identitatii a doi vectori) templateint vector::operator ==(vector &v) { int i=0; if(dim!=v.dim) return 0; else { while(iint vector::operator!=(vector &v) { int i=0; if(dim!=v.dim) return 1; while(iint vector::operator<(vector&v) { if(dim templateint vector::operator>(vector&v) { if(dim>v.dim) return 1; else return 0; } //functie de sortare vector templatevoid vector::sort(int(*cresc)(T,T)) { T aux;int i,j; for(i=0;i T vector::suma2() { T s=0; for(int i=0;i T vector::suma() { T s=0; for(int i=0;iT vector::prscalar(vectorv) { T p=0; for(int i=0;ivoid vector::regr_lin(vectorv,double&a,double&b) { T sa,sb,sa2,sb2,p; sa=suma(); sb=v.suma(); sa2=suma2(); p=prscalar(v); a=(sa2*sb-sa*p)/(dim*sa2-sa*sa); b=(dim*p-sa*sb)/(dim*sa2-sa*sa); } void main(void) { int dim1,dim2; cout<<"\n\t Dimensiunea 1:";cin>>dim1; cout<<"\n\tDimensiunea 2:";cin>>dim2; vector v1(dim1),v3(4); vector v2(dim2); cin>>v1;cin>>v2; cout<<"\n\tVector initial:";cout<>fisin;v3< v(dim1+dim2); v=(v1+v2);cout<<"\n\tVectorul rezultat este:";cout<