Матрица по принципу игры 2048

94
11 декабря 2020, 16:20

У нас есть 4 размерный массив. Нужно написать программу, который сложит ровный его число, который направо, а его сделает 0, но только один раз.

function solution(x){
  for (var i = 0; i < x.length; i++) {
      for (var j = 0; j < x.length; j++) {
          if (x[i][j]==x[i][j+1]) {
              x[i][j]=0
              x[i][j+1]*=2
          }
      } 
  }
  return JSON.stringify(x)
}
console.log(solution([[2,2,4,8],
                      [4,8,4,8],
                      [8,8,8,8],
                      [64,8,16,8]]))

он вернет

  [0,0,0,16],
  [4,8,4,8],
  [0,16,0,16],
  [64,8,16,8]

но нужно чтобы второй раз не сложил,то есть вместо [0,0,0,16], нужно [0,4,4,8]

Нужно чтобы программа работал правильно,для всех таких примеров,но в это время был очень простым..

Answer 1
x[i][j+1]*=2
x[i][++j]*=2

function solution(x){ 
  for (var i = 0; i < x.length; i++) { 
      for (var j = 0; j < x.length; j++) { 
          if (x[i][j]==x[i][j+1]) { 
              x[i][j]=0 
              x[i][++j]*=2 
          } 
      }  
  } 
  return JSON.stringify(x) 
} 
 
console.log(solution([[2,2,4,8], 
                      [4,8,4,8], 
                      [8,8,8,8], 
                      [64,8,16,8]]))

READ ALSO
Сборка CAFFE в Windows C++ VS Project

Сборка CAFFE в Windows C++ VS Project

Я пытаюсь выполнить сборку Caffe под Windows для дальнейшего использования в своём C++ проектеСледую инструкции на GitHub

115
SFML pixel array

SFML pixel array

Как получить все пиксели с картинки в массив?

112
Do-while зависает в Qt

Do-while зависает в Qt

Помогите пожалуйста с одним вопросомПишу программу в Qt с интерфейсом

113
Площадь невыпуклого многоугольника

Площадь невыпуклого многоугольника

Задача: Многоугольник (необязательно выпуклый) задан на плоскости перечислением координат вершин в порядке обхода его границыОпределить...

122