Guest User

Untitled

a guest
May 29th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. using namespace std;
  4.  
  5. class Vect;
  6.  
  7. class Array {
  8. private:
  9.     int **x;
  10.     int size;
  11.  
  12.     friend void multiplyDiagonalElems(Array &arr, Vect &vect);
  13. public:
  14.  
  15.     Array(int size_of_array) {
  16.         size = size_of_array;
  17.         x = new int*[size];
  18.         for (int i = 0; i < size; i++) {
  19.             x[i] = new int[size];
  20.         }
  21.     }
  22.  
  23.     void input() {
  24.         cout << "Starting to input values into array: \n";
  25.         for (int i = 0; i < size; i++)
  26.         {
  27.             for (int j = 0; j < size; j++)
  28.                 cin >> x[i][j];
  29.         }
  30.     }
  31.  
  32.     void output() {
  33.         cout << "Outputting Array : \n";
  34.         for (int i = 0; i < size; i++)
  35.         {
  36.             for (int j = 0; j < size; j++)
  37.                 cout << x[i][j] << " ";
  38.             cout << endl;
  39.         }
  40.     }
  41.  
  42.     int getElem(int i, int j) {
  43.         return x[i][j];
  44.     }
  45.  
  46.     void setElem(int i, int j, int value) {
  47.         x[i][j] = value;
  48.     }
  49.     void multiplyDiagonalElems2(Vect &vector);
  50. };
  51.  
  52. class Vect {
  53. private:
  54.     int *x;
  55.     int size;
  56.  
  57.     friend void Array::multiplyDiagonalElems2(Vect &vector);
  58. public:
  59.     friend void multiplyDiagonalElems(Array &arr, Vect &vect);
  60.     Vect(int size_of_array) {
  61.         size = size_of_array;
  62.         x = new int[size];
  63.     }
  64.  
  65.     ~Vect() {
  66.         delete[] x;
  67.     }
  68.  
  69.     void input() {
  70.         cout << "Starting to input values into vector: \n";
  71.         for (int i = 0; i < size; i++)
  72.             cin >> x[i];
  73.     }
  74.  
  75.     void output() {
  76.         cout << "Outputting Vector : \n";
  77.         for (int i = 0; i < size; i++)
  78.         {
  79.             cout << x[i] << " ";
  80.         }
  81.         cout << endl;
  82.     }
  83.  
  84.     int getElem(int pos) {
  85.         return x[pos];
  86.     }
  87.  
  88.     void setElem(int pos, int value) {
  89.         x[pos] = value;
  90.     }
  91. };
  92.  
  93.  
  94. void Array::multiplyDiagonalElems2(Vect &vector)
  95. {
  96.     for (int i = 0; i < size; i++)
  97.     {
  98.         x[i][i] *= vector.x[i];
  99.     }
  100. }
  101.  
  102. void multiplyDiagonalElems(Array &arr, Vect &vect) {
  103.     cout << "Outputting Array : \n";
  104.     for (int i = 0; i < arr.size; i++)
  105.     {
  106.         arr.x[i][i] *= vect.x[i];  
  107.     }
  108. }
  109.  
  110. int main()
  111. {
  112.     int n = 3;
  113.     Array matrix(n);
  114.     matrix.input();
  115.     matrix.output();
  116.  
  117.     Vect vector(n);
  118.     vector.input();
  119.     vector.output();
  120.  
  121.     //multiplyDiagonalElems(matrix, vector);
  122.     matrix.multiplyDiagonalElems2(vector);
  123.  
  124.     matrix.output();
  125.  
  126.     getch();
  127.     return 0;
  128. }
Add Comment
Please, Sign In to add comment