fork(1) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int n;
  8. cin >>n;
  9. double matr1[n][n]; //Матрица А
  10. double matr2[n][n]; // Матрица А^2
  11. double vet1[n]; //Вектор данный по условию (вектор b)
  12. double vet2[n]; //Конечный вектор
  13. for(int i=0;i<n;i++){
  14. for(int j=0; j<n; j++) // Инициализация матрицы А
  15. cin>>matr1[i][j];
  16. }
  17.  
  18. for(int i=0; i<n;i++){
  19. for(int j=0;j<n;j++){ //Возведение матрицы А в квадрат
  20. matr2[i][j]=0;
  21. for(int p=0;p<n;p++)
  22. matr2[i][j]+=(matr1[i][p]*matr1[p][j]);
  23. }
  24. }
  25.  
  26. for(int i=0; i<n; i++) //Инициализация вектора
  27. cin >> vet1[i];
  28.  
  29. for(int i=0;i<n;i++){
  30. vet2[i]=0;
  31. for(int j=0; j<n; j++){
  32. vet2[i]+=matr2[i][j]*vet1[j]; //Умножение матрицы на вектор
  33. }
  34. }
  35.  
  36. /*for(int i=0; i<n;i++){
  37.   for(int j=0;j<n;j++){
  38.   cout << matr2[i][j] << "\t"; //Вывод матрицы A^2
  39.   }
  40.   cout << endl;
  41.   }
  42.   cout << endl << endl;
  43.   */
  44.  
  45. for(int i=0; i<n; i++)
  46. cout << vet2[i] << "\t"; //Вывод вектора
  47. cout << endl;
  48.  
  49. return 0;
  50. }
  51.  
Success #stdin #stdout 0s 3232KB
stdin
5
1 0 0 0 0

0 2 0 0 0

0 0 3 0 0

0 0 0 4 0

0 0 0 0 5
8 1 8 1 8
stdout
8	4	72	16	200