fork download
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. //C=A*42+B
  6. void matrix(int n, int m, double *Pt)
  7. {
  8. for (int i = 0; i<n; i++)
  9. for (int j = 0; j<m; j++)
  10. {
  11. cout << "Matrix[" << i << "][" << j << "]=";
  12. cin >> Pt[i*m + j];
  13. }
  14. }
  15.  
  16.  
  17. void display(int n, int m, double *Pt)
  18. {
  19. for (int i = 0; i<n; cout << endl, i++)
  20. for (int j = 0; j<m; j++)
  21. cout << Pt[i*m + j] << "\t";
  22. }
  23.  
  24. void display_file(int n, int m, double *Pt, ofstream &wStream)
  25. {
  26. for (int i = 0; i<n; wStream << endl, i++)
  27. for (int j = 0; j<m; j++)
  28. wStream << Pt[i*m + j] << "\t";
  29. wStream << endl;
  30. }
  31.  
  32. void matrix_multi(int n, int m, double *Pt, double numb)
  33. {
  34. for (int i = 0; i < n;i++)
  35. for (int j = 0; j < m; j++)
  36. Pt[i*m + j] = Pt[i*m + j] * numb;
  37. }
  38.  
  39. void matrix_summ(int n, int m, double *Pt1, double *Pt2, double *Pt3)
  40. {
  41. for (int i = 0; i<n; i++)
  42. for (int j = 0; j<m; j++)
  43. Pt3[i*m + j] = Pt1[i*m + j] + Pt2[i*m + j];
  44. }
  45.  
  46.  
  47. int main()
  48. {
  49. setlocale(LC_ALL, "rus");
  50.  
  51. int n = 0;
  52. int m = 0;
  53.  
  54. ifstream rStream;
  55. rStream.open("file.txt", ios_base::in);
  56.  
  57. double *dblPtA = new double[n*m];
  58. double *dblPtB = new double[n*m];
  59. double *dblPtC = new double[n*m];
  60. if (!rStream)
  61. {
  62. rStream.close();
  63. ofstream wStream; //поток для записи
  64. //открываем файл для записи(файл автоматически обнуляется)
  65. wStream.open("file.txt", ios_base::out);
  66.  
  67. cout << "Введите размерность матриц\n";
  68. cout << "Введите N\n";
  69. cin >> n;
  70. wStream << n << " ";
  71. cout << "Введите M\n";
  72. cin >> m;
  73. wStream << m << " "<<endl;
  74.  
  75. cout << "Введите матрицу A:\n";
  76.  
  77. matrix(n, m, dblPtA);
  78. display_file(n, m, dblPtA, wStream);
  79.  
  80. cout << "Введите матрицу B:\n";
  81.  
  82. matrix(n, m, dblPtB);
  83. display_file(n, m, dblPtB, wStream);
  84.  
  85. int numb = 0;
  86. cout << "Введите число на которое будем множить матрицу A\n";
  87. cin >> numb;
  88. matrix_multi(n, m, dblPtA, numb);
  89.  
  90. cout << "C = A*numb+B\nMatrix C:\n";
  91. matrix_summ(n, m, dblPtA, dblPtB, dblPtC);
  92. display(n, m, dblPtC);
  93. display_file(n, m, dblPtC, wStream);
  94.  
  95. wStream.close();
  96.  
  97. delete[] dblPtA;
  98. delete[] dblPtB;
  99. delete[] dblPtC;
  100. }
  101.  
  102. system("pause");
  103. return 0;
  104. }
Success #stdin #stdout #stderr 0s 3468KB
stdin
Standard input is empty
stdout
Введите размерность матриц
Введите N
Введите M
Введите матрицу A:
Введите матрицу B:
Введите число на которое будем множить матрицу A
C = A*numb+B
Matrix C:
stderr
sh: 1: pause: not found