Advertisement
vencinachev

Zadacha1-Function

Dec 16th, 2020
912
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.34 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. void printMatrix(int a[], int n);
  7.  
  8. int main()
  9. {
  10.     const int SIZE = 10;
  11.     int a[SIZE];
  12.     int n;
  13.     do
  14.     {
  15.         cout << "Enter n: ";
  16.         cin >> n;
  17.     }
  18.     while (n < 4 || n > SIZE);
  19.  
  20.     cout << "Enter main diagonal sequence: ";
  21.     for (int i = 0; i < n; i++)
  22.     {
  23.         cin >> a[i];
  24.     }
  25.  
  26.     printMatrix(a, n);
  27.  
  28.     return 0;
  29. }
  30.  
  31. void printMatrix(int a[], int n)
  32. {
  33.     double matrix[n][n];
  34.     // main diagonal
  35.     for (int i = 0; i < n; i++)
  36.     {
  37.         matrix[i][i] = a[i];
  38.     }
  39.  
  40.     // below main diagonal
  41.     for (int k = 1; k < n; k++)
  42.     {
  43.          for (int i = 0; i + k < n; i++)
  44.          {
  45.                             // row index + above element
  46.             matrix[i + k][i] = i + k + matrix[i + k - 1][i];
  47.          }
  48.     }
  49.  
  50.     // above main diagonal
  51.     for (int k = 1; k < n; k++)
  52.     {
  53.          for (int j = 0; j + k < n; j++)
  54.          {
  55.                                 // below element     + left element
  56.             matrix[j][j + k] = (matrix[j + 1][j + k] + matrix[j][j + k - 1]) / 2.0;
  57.          }
  58.     }
  59.  
  60.     // print matrix
  61.     for (int i = 0; i < n; i++)
  62.     {
  63.         for (int j = 0; j < n; j++)
  64.         {
  65.             cout << setw(5) << matrix[i][j] << " ";
  66.         }
  67.         cout << endl;
  68.     }
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement