Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //---------------------------------------------------------------------------
- #pragma hdrstop
- #include <iostream.h>
- const int SIZE = 50;
- //---------------------------------------------------------------------------
- struct TVec{
- float Vec[SIZE];
- int size;
- };
- float operator* (TVec v1, TVec v2){
- if(v1.size != v2.size){
- cerr << "Error!!!" << endl;
- return 0;
- }
- float rez = 0;
- for(int i = 0; i < v1.size; i++){
- rez += v1.Vec[i] * v2.Vec[i];
- }
- return rez;
- }
- TVec operator+ (TVec v1, TVec v2){
- TVec rez;
- (v1.size > v2.size) ? rez.size = v1.size : rez.size = v2.size;
- for(int i = 0; i < rez.size; i++){
- rez.Vec[i] = v1.Vec[i] + v2.Vec[i];
- }
- return rez;
- }
- TVec operator- (TVec v1, TVec v2){
- TVec rez;
- (v1.size > v2.size) ? rez.size = v1.size : rez.size = v2.size;
- for(int i = 0; i < rez.size; i++){
- rez.Vec[i] = v1.Vec[i] - v2.Vec[i];
- }
- return rez;
- }
- istream& operator>> (istream &is, TVec &v){
- for(int i = 0; i < v.size; i++){
- is >> v.Vec[i];
- }
- return is;
- }
- ostream& operator<< (ostream &os, TVec v){
- os << "(";
- for(int i = 0; i < v.size; i++){
- os << v.Vec[i];
- if(i < v.size - 1) os << "; ";
- }
- os << ")" << endl;
- return os;
- }
- #pragma argsused
- int main(int argc, char* argv[])
- {
- int n;
- TVec v1, v2;
- cout << "Enter size of first vector: ";
- cin >> n;
- v1.size = n;
- cout << "Enter size of second vector: ";
- cin >> n;
- v2.size = n;
- cout << "Enter v1: " << endl;
- cin >> v1;
- cout << "Enter v2: " << endl;
- cin >> v2;
- TVec S = v1 + v2, R = v1 - v2;
- cout << "Suma vectoriv: " << S;
- cout << "Riznitsa vectoriv: " << R;
- cout << "Mnojenia = " << v1 * v2 << endl;
- cout << "d = " << S * R;
- //d=(a+b)(a-b)
- cin.get();
- cin.get();
- return 0;
- }
- //---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement