Advertisement
Gamerkin

Транспонирование матрицы

Mar 10th, 2023
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cmath>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. setlocale(0, "");
  11. int i, j, m, n;
  12. int** MX;
  13. int** B;
  14. cout << "Программа выполняющая транспонирование матрицы \n";
  15. cout.fill('-');
  16. cout << setw(25) << "-" << endl;
  17. cout << "Введите количество строк матрицы: "; cin >> n;
  18. cout << "Введите количество столбцов матрицы: "; cin >> m;
  19.  
  20. // Создание динамического массива
  21. MX = new int* [n];
  22. for (i = 0; i < n; i++)
  23. MX[i] = new int[m];
  24. // Создание динамического массива
  25. B = new int* [n];
  26. for (i = 0; i < n; i++)
  27. B[i] = new int[m];
  28.  
  29. for (i = 0; i < n; i++) //цикл по переменной i, в которой перебираем строки матрицы
  30. {
  31. for (j = 0; j < m; j++) //цикл по переменной j, в котором перебираем элементы внутри строки
  32. {
  33. cout << "Введите элемент #" << i + 1 << "." << j + 1 << ": "; cin >> MX[i][j]; //ввод элемента матрицы
  34.  
  35. }
  36. }
  37.  
  38. cout << "Матрица" << endl;
  39.  
  40. for (i = 0; i < n; i++) //цикл по переменной i, в котором перебираем строки матрицы
  41. {
  42. for (j = 0; j < m; j++) //цикл по переменной j, в котором перебираем элементы внутри строки
  43. {
  44. cout << MX[i][j] << "\t";
  45.  
  46. }
  47. cout << endl;
  48. }
  49.  
  50. cout << endl;
  51.  
  52. if (n == m)
  53. {
  54. cout << "Транспонированная матрица" << endl;
  55. for (i = 0; i < n; i++)
  56. {
  57. for (j = 0; j < m; j++)
  58. B[i][j] = MX[j][i];
  59. }
  60. for (i = 0; i < n; i++)
  61. {
  62. for (j = 0; j < m; j++)
  63. cout << B[i][j] << "\t";
  64. cout << endl;
  65. }
  66. }
  67. else
  68. cout << "Транспонирование возможно только для квадратных матриц" << endl;
  69.  
  70. delete [] MX;
  71. delete [] B;
  72.  
  73. system("pause");
  74. return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement