andrelievable

vector

Nov 9th, 2020 (edited)
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.44 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <stdio.h>
  4. using namespace std;
  5.  
  6.  
  7. class vector {
  8.     double x, y;
  9. public:
  10.     vector(double xi, double yi) {             //konstruktor klasy
  11.         x = xi;
  12.         y = yi;
  13.     }
  14.     void add(vector v)                      // funkcja klasy dodająca
  15.     {
  16.         x += v.x;                           // do zmiennej x dodajesz atrybut x obiektu v
  17.         y += v.y;                          // do zmiennej y dodajesz atrybut y obiektu v
  18.         cout << "Wynik dodawania: [ " << x << "," << y << " ]" << endl;
  19.     }
  20.     void substract(vector v)
  21.     {
  22.         x -= v.x;
  23.         y -= v.y;
  24.         cout << "Wynik odejmowania: [ " << x << "," << y << " ]" << endl;
  25.     }
  26.     void multiply(vector v)
  27.     {
  28.         x *= v.x;
  29.         y *= v.y;
  30.         cout << "Wynik mnozenia: [ " << x << "," << y << " ]" << endl;
  31.     }
  32.     void divide(vector v)
  33.     {
  34.         x /= v.x;
  35.         y /= v.y;
  36.         cout << "Wynik dzielenia: [ " << x << "," << y << " ]" << endl;
  37.     }
  38.     void print()
  39.     {
  40.         cout << "[ " << x << "," << y << " ]" << endl;    //funkcja wypisująca wartości wektórow
  41.     }
  42.  
  43. };
  44. enum class operation {       //tworzymy typ enumeracyjny
  45.     Add,
  46.     Substract,
  47.     Multiply,
  48.     Divide
  49. };
  50. int main()
  51. {
  52.     double tab[4];     //tablica 4 elementowa
  53.     cout << "Podaj dane do wektorow: " << endl;
  54.     scanf("%lf%lf, %lf%lf", &tab[0], &tab[1], &tab[2], &tab[3]);      //wczytujemy z klawiatury dane wektorów
  55.     vector vec1{ tab[0], tab[1] };             //przypisujemy dane do danego wektora
  56.     vector vec2{ tab[2], tab[3] };
  57.     cout << "Wektor pierwszy: ";                    
  58.     vec1.print();                                  // wypisujemy wartosci wektora vec1 na ekran
  59.     cout << "Wektor drugi: ";
  60.     vec2.print();                                    // wypisujemy wartosci wektora vec2 na ekran
  61.     operation op;                                // obiekt typu enum
  62.     cout << "Podaj operacje do wykonania sposrod:" << endl;
  63.     cout << "1 - Add\n2 - Substract\n3 - Multiply\n4 - Divide\n";
  64.     int n;
  65.     scanf("%d", &n);
  66.     switch (n) {
  67.     case 1:
  68.         op = operation::Add;
  69.         break;
  70.     case 2:
  71.         op = operation::Substract;
  72.         break;
  73.     case 3:
  74.         op = operation::Multiply;
  75.         break;
  76.     case 4:
  77.         op = operation::Divide;
  78.         break;
  79.     default:
  80.         printf("Impossible");
  81.  
  82.     }
  83.     switch (op) {
  84.     case operation::Add:
  85.         vec1.add(vec2);
  86.         break;
  87.     case operation::Substract:
  88.         vec1.substract(vec2);
  89.         break;
  90.     case operation::Multiply:
  91.         vec1.multiply(vec2);
  92.         break;
  93.     case operation::Divide:
  94.         vec1.divide(vec2);
  95.         break;
  96.     default:
  97.         printf("Impossible");
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment