Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.71 KB | None | 0 0
  1. #include "pch.h"
  2. #include <iostream>
  3. using namespace std;
  4. void M03(double **A, double *X, double *C, int n);
  5.  
  6. int main()
  7. {
  8.     double A[3][3] = { {5,6,7},{9,1,5},{2,2,9} };
  9.     double X[3] = { 7,2,1 };
  10.     int n=3;
  11.  
  12.     //объявляем массив строк
  13.     double **arr = (double**)calloc(n, sizeof(double*));
  14.  
  15.     //объявляем строки
  16.     for (int i = 0; i < n; i++)
  17.     {
  18.         arr[i] = (double*)calloc(n, sizeof(double));
  19.     }
  20.  
  21.     //заполняем динамический массив
  22.     for (int i = 0; i < n; i++)
  23.     {
  24.         for (int j = 0; j < n; j++)
  25.         {
  26.             arr[i][j] = A[i][j];
  27.         }
  28.     }
  29.  
  30.     //Объявляем массивы векторов, где AnsArrr - ответ
  31.     double *Xarr = (double*)calloc(n, sizeof(double));
  32.     double *AnsArr= (double*)calloc(n, sizeof(double));
  33.  
  34.     //Заполняем массив вектора X
  35.     for (int i = 0; i < n; i++)
  36.     {
  37.         Xarr[i] = X[i];
  38.     }
  39.  
  40.     //запускаем функцию
  41.     M03(arr,Xarr,AnsArr,n);
  42.  
  43.     //чистим данные строк
  44.     for (int i = 0; i < n; i++)
  45.     {
  46.         arr[i] = (double*)malloc (n * sizeof(double));
  47.     }
  48.  
  49.     //чистим данные массивов строки и вектора X
  50.     arr = (double**)malloc(n * sizeof(double*));
  51.     Xarr = (double*)malloc(n * sizeof(double));
  52.  
  53.     //выводим массив вектора-ответа
  54.     for (int i = 0; i < n; i++)
  55.     {
  56.         cout << AnsArr[i] << " ";
  57.     }
  58.     cout << endl;
  59.  
  60.     //чистим данные массива вектора-ответа
  61.     AnsArr = (double*)malloc(n * sizeof(double));
  62.  
  63.     return 0;
  64. }
  65.  
  66. void M03(double **A, double *X, double *C, int n)
  67. {
  68.     for (int i = 0; i < n; i++)
  69.     {
  70.         C[i] = 0;
  71.         for (int j = 0; j < n; j++)
  72.         {
  73.             C[i] += A[i][j] * X[j];
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement