8.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int rovs, cols;
  5. // ввод размера матрицы пока размер не будет больше 0
  6. while (true){
  7. cout << "Input rovs of matrix: " << endl;
  8. cin >> rovs;
  9. cout << "Input cols of matrix: " << endl;
  10. cin >> cols;
  11. if ((rovs < 1) || (cols < 1)){
  12. cout << "The size of matrix can't be less than 1." << endl;
  13. cout << "--------------------------" << endl;
  14. }
  15. else {
  16. cout << "--------------------------" << endl;
  17. break;
  18. }
  19. }
  20. int **matrix = new int *[rovs];
  21. for (int i = 0; i < rovs; i++){
  22. matrix[i] = new int [cols];
  23. }
  24. int **result_matrix = new int *[rovs];
  25. for (int i = 0; i < rovs; i++){
  26. result_matrix[i] = new int [cols];
  27. }
  28. cout << "Input matrix's elements: " << endl;
  29. for (int i = 0; i < rovs; i++){
  30. for (int j = 0; j < cols; j++){
  31. cin >> matrix[i][j];
  32. }
  33. cout << endl;
  34. }
  35. cout << "--------------------------" << endl;
  36. for (int i = 0; i < rovs; i++){
  37. for (int j = 0; j < cols; j++){
  38. cout << matrix[i][j] << "\t";
  39. }
  40. cout << endl;
  41. }
  42. //передача значений в матрицу результата
  43. for (int i = 0; i < rovs; i++){
  44. for (int j = 0; j < cols; j++){
  45. result_matrix[i][j] = matrix[i][j];
  46. }
  47. }
  48. //сортировка матрицы по возрастанию
  49. for (int i = 0; i < rovs; i++){
  50. for (int j = 0; j < cols; j++){
  51. for (int k = 0; k < cols - 1; k++){
  52. if (result_matrix[i][k] > result_matrix[i][k + 1]){
  53. swap(result_matrix[i][k], result_matrix[i][k + 1]);
  54. }
  55. }
  56. }
  57. }
  58. cout << "--------------------------" << endl;
  59. //вывод матрицы результата
  60. for (int i = 0; i < rovs; i++){
  61. for (int j = 0; j < cols; j++){
  62. cout << result_matrix[i][j] << "\t";
  63. }
  64. cout << endl;
  65. }
  66. for (int i = 0; i < rovs; i++){
  67. delete[] matrix[i];
  68. delete[] result_matrix[i];
  69. }
  70. delete[] matrix;
  71. delete[] result_matrix;
  72. return 0;
  73. }