Advertisement
Guest User

Untitled

a guest
May 20th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <iostream>
  4. #include <stdlib.h>
  5. #include <time.h>
  6. #include <iomanip>
  7.  
  8. using namespace std;
  9.  
  10. class Matrix {
  11.  
  12. private:
  13. int len;
  14. int *array1;
  15. int *array2;
  16. public:
  17. Matrix(int n) { len = n; array1 = new int[n*n]; }
  18. Matrix() { len = 3; array2 = new int[len*len]; }
  19. ~Matrix() { delete[]array1;
  20. delete[]array2;
  21. }
  22. void fill1();
  23. void view1();
  24. void sort1();
  25. void fill2();
  26. void view2();
  27. void sort2();
  28. void matrix_sum();
  29. };
  30. //функция ввода вручную
  31. void Matrix::fill1() {
  32. cout << "Enter numbers: " << endl;
  33. for (int i = 0; i < len; i++) {
  34. for (int j = 0; j < len; j++) {
  35. cin >> *(array1 + j + (i*len));
  36. }
  37. }
  38. }
  39.  
  40. //Вводится рандомно
  41. void Matrix::fill2() {
  42. srand(time(0));
  43.  
  44. for (int i = 0; i < len*len; i++) {
  45. array2[i] = rand() % 9;
  46. }
  47.  
  48. }
  49. //вывод матрицы, которая вводилась вручную
  50. void Matrix::view1() {
  51. cout << endl ;
  52. for (int i = 0; i < len; i++) {
  53. for (int j = 0; j < len; j++) {
  54. cout << std::setw(3) << *(array1 + j + (i*len));
  55. }
  56. cout << endl<<endl;
  57. }
  58. }
  59. //вывод матрицы, которая рандомная
  60. void Matrix::view2() {
  61. cout << endl;
  62. for (int i = 0; i < len; i++) {
  63. for (int j = 0; j < len; j++) {
  64. cout << std::setw(3) << *(array2 + j + (i*len));
  65. }
  66. cout << endl << endl;
  67. }
  68. }
  69. //сортировка матрицы, которая вводится вручную
  70. void Matrix::sort1() {
  71. cout << endl;
  72. int temp;
  73. //сортировка
  74. for (int i = 0; i < len*len; i++) {
  75. for (int j = 0; j < len*len ; j++){
  76.  
  77. if (array2[j] > array2[j + 1]) {
  78. temp = array2[j];
  79. array2[j] = array2[j + 1];
  80. array2[j + 1] = temp;
  81. }
  82. };
  83.  
  84. };
  85. cout << "otsortirovannaya matriza:" << endl;
  86. //вывод полученной фигни
  87. for (int i = 0; i < len; i++) {
  88. for (int j = 1; j < len+1; j++) {
  89. cout << std::setw(3) << *(array2 + j + (i*len));
  90. }
  91. cout << endl << endl;
  92. };
  93.  
  94. cout << endl;
  95. }
  96. //сортировка матрицы, вводимой рандомно
  97. void Matrix::sort2() {
  98. cout << endl;
  99. int mep;
  100. //сортировка
  101. for (int i = 0; i < len*len; i++) {
  102. for (int j = 0; j < len*len; j++) {
  103.  
  104. if (array1[j] > array1[j + 1]) {
  105. mep = array1[j];
  106. array1[j] = array1[j + 1];
  107. array1[j + 1] = mep;
  108. }
  109. };
  110.  
  111. };
  112. cout << "otsortirovannaya matriza:" << endl;
  113. //вывод полученной фигни
  114. for (int i = 0; i < len; i++) {
  115. for (int j = 1; j < len + 1; j++) {
  116. cout << std::setw(3) << *(array1 + j + (i*len));
  117. }
  118. cout << endl << endl;
  119. };
  120.  
  121. cout << endl;
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement