Advertisement
VictoriaLodochkina

lab10 z2 BRILLIANT

Jan 14th, 2020
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. #include <cmath>
  4.  
  5. void kratno(double **mas1, int x1, int y1, double **mas2, int x2, int y2);
  6. void nekratno(double **mas1, int x1, int y1, double **mas2, int x2, int y2);
  7.  
  8. using namespace std;
  9.  
  10. int main()
  11. {
  12.     int n1, m1;
  13.     cout << "Enter n1 and m1: " << endl;
  14.     cin >> n1 >> m1;
  15.     double* * A = new double*[n1];
  16.     for (int i = 0; i < n1; i++)
  17.         A[i] = new double[m1];
  18.     for (int i = 0; i < n1; i++)
  19.         for (int j = 0; j < m1; j++)
  20.             cin >> A[i][j];
  21.     int n2, m2;
  22.     cout << "Enter n2 and m2: " << endl;
  23.     cin >> n2 >> m2;
  24.     double* * B = new double*[n2];
  25.     for (int i = 0; i < n2; i++)
  26.         B[i] = new double[m2];
  27.     for (int i = 0; i < n2; i++)
  28.         for (int j = 0; j < m2; j++)
  29.             cin >> B[i][j];
  30.     double sumA = 0;
  31.     double sumB = 0;
  32.     for (int i = 0; i < n1; i++)
  33.         for (int j = 0; j < m1; j++)
  34.             sumA += A[i][j];
  35.     for (int i = 0; i < n2; i++)
  36.         for (int j = 0; j < m2; j++)
  37.             sumB += B[i][j];
  38.     double p;
  39.     double rez = modf(sumA / sumB, &p);
  40.     if (rez == 0)
  41.     {
  42.         kratno(A, n1, m1, B, n2, m2);
  43.     }
  44.     else
  45.     {
  46.         nekratno(A, n1, m1, B, n2, m2);
  47.     }
  48.     for (int i = 0; i < n1; i++)
  49.     {
  50.         cout << endl;
  51.         for (int j = 0; j < m1; j++)
  52.             cout << A[i][j] << " ";
  53.     }
  54.     for (int i = 0; i < 3; i++)
  55.     {
  56.         cout << endl;
  57.     }
  58.     for (int i = 0; i < n2; i++)
  59.     {
  60.         cout << endl;
  61.         for (int j = 0; j < m2; j++)
  62.             cout << B[i][j] << " ";
  63.     }
  64.     return 0;
  65. }
  66.  
  67. void kratno(double **mas1, int x1, int y1, double **mas2, int x2, int y2)
  68. {
  69.     double temp1, temp2;
  70.     for (int i = 0; i < y1; i++)
  71.     {
  72.         temp1 = mas1[0][i];
  73.         mas1[0][i] = mas1[x1 - 1][i];
  74.         mas1[x1 - 1][i] = temp1;
  75.     }
  76.     for (int i = 0; i < y2; i++)
  77.     {
  78.         temp2 = mas2[0][i];
  79.         mas2[0][i] = mas2[x2 - 1][i];
  80.         mas2[x2 - 1][i] = temp2;
  81.     }
  82. }
  83. void nekratno(double **mas1, int x1, int y1, double **mas2, int x2, int y2)
  84. {
  85.     double temp1, temp2;
  86.     for (int i = 0; i < y1; i++)
  87.     {
  88.         temp1 = mas1[0][i];
  89.         mas1[0][i] = mas1[x1 - 1][i];;//НАРУШАЮ ЕГО ООООЧЕНЬ ВАЖНЫЕ ПРАВА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  90.         mas1[x1-1][i] = temp1;
  91.     }
  92.     for (int i = 0; i < 2; i++)
  93.     {
  94.         temp2 = mas2[1][i];
  95.         mas2[1][i] = mas2[x2 - 1][i];
  96.         mas2[x2 - 1][i] = temp2;
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement