Advertisement
ErolKZ

Untitled

Jan 17th, 2022
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1.  
  2. function solve(arr) {
  3.  
  4. function matrixCreation(arr) {
  5.  
  6. let matrix = arr.map(el => el.split(' '));
  7.  
  8. matrix = matrix.map(el => el.map(el2 => Number(el2)));
  9.  
  10. return matrix;
  11.  
  12. }
  13.  
  14.  
  15. function indexGathering() {
  16.  
  17. let matrix = matrixCreation(arr);
  18.  
  19. let arrOfIn = [];
  20.  
  21. let j = 0;
  22.  
  23. let k = matrix[0].length - 1;
  24.  
  25. for (let i = 0; i < matrix.length; i++) {
  26.  
  27. let index1 = j;
  28.  
  29. let index2 = k;
  30.  
  31. arrOfIn.push([index1, index2]);
  32.  
  33. j++;
  34.  
  35. k--;
  36.  
  37. }
  38.  
  39. return arrOfIn;
  40.  
  41. }
  42.  
  43.  
  44. function sumOfDiagonals() {
  45.  
  46. let matrix = matrixCreation(arr);
  47.  
  48. let sumOne = 0;
  49.  
  50. let sumTwo = 0;
  51.  
  52. let j = 0;
  53.  
  54. let k = matrix[0].length - 1;
  55.  
  56. for (let i = 0; i < matrix.length; i++) {
  57.  
  58. sumOne += matrix[i][j];
  59.  
  60. sumTwo += matrix[i][k];
  61.  
  62. j++;
  63.  
  64. k--;
  65.  
  66. }
  67.  
  68. return [sumOne, sumTwo];
  69.  
  70. }
  71.  
  72.  
  73. function changeValues() {
  74.  
  75. let matrix = matrixCreation(arr);
  76.  
  77. let arrOfIn = indexGathering();
  78.  
  79. let num = sumOfDiagonals()[0];
  80.  
  81.  
  82. for (let i = 0; i < matrix.length; i++) {
  83.  
  84. let curArr = arrOfIn[i];
  85.  
  86. for (let j = 0; j < matrix[i].length; j++) {
  87.  
  88. if (!curArr.includes(j)) {
  89.  
  90. matrix[i][j] = num;
  91.  
  92. }
  93.  
  94. }
  95.  
  96. }
  97.  
  98. return matrix;
  99.  
  100. }
  101.  
  102.  
  103.  
  104. function printing() {
  105.  
  106. let arrOfSums = sumOfDiagonals();
  107.  
  108. let matrix = matrixCreation(arr);
  109.  
  110. let matrix2 = changeValues();
  111.  
  112. if (arrOfSums[0] === arrOfSums[1]) {
  113.  
  114. for (let el of matrix2) {
  115.  
  116. console.log(el.join(' '));
  117.  
  118. }
  119.  
  120. } else {
  121.  
  122. for (let el of matrix) {
  123.  
  124. console.log(el.join(' '));
  125.  
  126. }
  127.  
  128. }
  129.  
  130. }
  131.  
  132.  
  133.  
  134. printing();
  135.  
  136. }
  137.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement