Advertisement
VictoriaLodochkina

lab 10 z2 NARUSHAY EGO PRAVA

Dec 27th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.86 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][i];
  74.         mas1[x1][i] = temp1;
  75.     }
  76.     /*for (int i = 0; i < x1; i++)
  77.     {
  78.         cout << endl;
  79.         for (int j = 0; j < y1; j++)
  80.             cout << mas1[i][j] << " ";
  81.     }
  82.     cout << endl;*/
  83.     //для второй матрицы так же написать
  84.     for (int i = 0; i < y2; i++)
  85.     {
  86.         temp2 = mas2[0][i];
  87.         mas2[0][i] = mas2[x2][i];
  88.         mas2[x2][i] = temp2;
  89.     }
  90.     /*for (int i = 0; i < x2; i++)
  91.     {
  92.         cout << endl;
  93.         for (int j = 0; j < y2; j++)
  94.             cout << mas2[i][j] << " ";
  95.     }*/
  96. }
  97. void nekratno(double **mas1, int x1, int y1, double **mas2, int x2, int y2)
  98. {
  99.     double temp1, temp2;
  100.     for (int i = 0; i < y1; i++)
  101.     {
  102.         temp1 = mas1[0][i];
  103.         mas1[0][i] = mas1[x1][i]; //НАРУШАЮ ЕГО ООООЧЕНЬ ВАЖНЫЕ ПРАВА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  104.         mas1[x1][i] = temp1;
  105.     }
  106.     /*for (int i = 0; i < x1; i++)
  107.     {
  108.         cout << endl;
  109.         for (int j = 0; j < y1; j++)
  110.             cout << mas1[i][j] << " ";
  111.     }
  112.     cout << endl;*/
  113.     //для второй матрицы так же написать
  114.     for (int i = 0; i < 2; i++)
  115.     {
  116.         temp2 = mas2[1][i];
  117.         mas2[1][i] = mas2[x2 - 1][i];
  118.         mas2[x2 - 1][i] = temp2;
  119.     }
  120.     /*for (int i = 0; i < x2; i++)
  121.     {
  122.         cout << endl;
  123.         for (int j = 0; j < y2; j++)
  124.             cout << mas2[i][j] << " ";
  125.     }*/
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement