fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. void swap(int *a, int *b) {
  8. int temp = *a;
  9. *a = *b;
  10. *b = temp;
  11. }
  12.  
  13.  
  14. void sortMainDiagonal(int **arr, int n) {
  15. for (int i = 0; i < n; i++) {
  16. for (int j = 0; j < n - i - 1; j++) {
  17. if (arr[j][j] < arr[j + 1][j + 1]) {
  18. swap(&arr[j][j], &arr[j + 1][j + 1]);
  19. }
  20. }
  21. }
  22. }
  23.  
  24.  
  25. void printArray(int **arr, int n) {
  26. for (int i = 0; i < n; i++) {
  27. for (int j = 0; j < n; j++) {
  28. cout << arr[i][j] << " ";
  29. }
  30. cout << endl;
  31.  
  32. }
  33. }
  34.  
  35. int main() {
  36. int n;
  37.  
  38.  
  39. cout << "Введите размерность массива (n): ";
  40. cin >> n;
  41.  
  42. int **arr = new int*[n];
  43. for (int i = 0; i < n; i++) {
  44. arr[i] = new int[n];
  45. }
  46.  
  47.  
  48. cout << "Введите элементы массива:" << endl;
  49. for (int i = 0; i < n; i++) {
  50. for (int j = 0; j < n; j++) {
  51. cin >> arr[i][j];
  52. }
  53. }
  54.  
  55. sortMainDiagonal(arr, n);
  56. cout << "Отсортированный массив:" << endl;
  57. printArray(arr, n);
  58.  
  59. for (int i = 0; i < n; i++) {
  60. delete[] arr[i];
  61. }
  62. delete[] arr;
  63.  
  64. return 0;
  65. }
Success #stdin #stdout 0.01s 5284KB
stdin
3
2 1 3
5 1 4 
6 9 7
stdout
Введите размерность массива (n): Введите элементы массива:
Отсортированный массив:
7 1 3 
5 2 4 
6 9 1