I need help!!

closed account (jE09216C)
So i got this for homework.
I need to create a class vector as a template and define operations on vectors.


And this is what I made.Can someone check it and make some changes so that this programme actually works? Than you.



#include<iostream>

using namespace std;

template<class T>

classVektor
{
T *v;
size_t size;

public:
Vektor(){};
Vektor(size_t s)
{
s=size;
};

T& operator[](int idx)
{
return v[idx];
};

Vektor& operator+(Vektor& w);
Vektor& operator-(Vektor& w);
float operator*(Vektor& w);

Vektor& operator=(Vektor& w);
Vektor& operator+=(Vektor& w);
Vektor& operator-=(Vektor& w);

T& max()const;
T& min()const;

void ispis()
{
for(int i=0;i<vel;i++)
cout<< v[i] <<" ";
};
};

template<class T>
Vektor& Vektor<v>::operator+(Vektor& w)
{
Vektor *z=new Vektor(vel);

for(int i=0;i<vel;i++)
{
(*z)[i]=v[i]+w[i];
};
return (*z);
}

template<class T>
Vektor& Vektor<v>::operator-(Vektor& w)
{
Vektor *r=new Vektor(vel);

for(int i=0;i<vel;i++)
{
(*r)[i]=v[i]-w[i];
};
return (*r);
}
template<class T>
float Vektor<v>::operator*(Vektor& w)
{
float skalarni_produkt=0;

for(int i=0;i<vel;i++)
{
skalarni_produkt=skalarni_produkt+(v[i]*w[i]);
}
return skalarni_produkt;
}

template<class T>
Vektor& Vektor<v>::operator=( Vektor& w)
{
for(int i=0;i<vel;i++)
v[i]=w[i];
vel=w.vel;
return *this;
}

template<class T>
Vektor& Vektor<v>::operator+=(Vektor& w)
{
for(int i=0;i<vel;i++)
v[i]=v[i]+w[i];
return *this;
}

template<class T>
Vektor& Vektor<v>::operator-=(Vektor& w)
{
for(int i=0;i<vel;i++)
v[i]=v[i]-w[i];
return *this;
}


int main()
{
int x=3;
Vektor A(x);
Vektor B(x);

cout<<"A=";
for(int i=0;i<x;i++)
{
A[i]=i+1;
cout<< A[i] <<" ";
}

cout<<endl;

cout<<"B=";
for(int i=0;i<x;i++)
{
B[i]=i+3;
cout<< B[i] <<" ";
}

cout<<endl;
cout<<endl;

cout<<"Zbroj vektora A i B je vektor C"<<endl;
Vektor C=A+B;
cout<<"C=";
C.ispis();

cout<<endl;
cout<<endl;

cout<<"Razlika vektora A i B je vektor D"<< endl;
Vektor D=B-A;
cout<<"D=";
D.ispis();

cout<<endl;
cout<<endl;

float skalarniprodukt=A*B;
cout<< "Skalarni produkt vektora A i B je "<<skalarniprodukt<<endl;

cout<<endl;


cout<<"X=";
Vektor X=A;
X.ispis();


return 1;
}
You mean homework like find the errors?
the best one is return 1; in main()
Topic archived. No new replies allowed.