Задан двойной массив в котором по рандомно появляется единица. Необходимо изменить на единицу все значения справа от единицы за один раз можно менять только одно значение. Моя проблема в том что цикл меняет правое значение на 1 и меняет правое от него. Возможно ли сделать так что бы цикл сначала нашел все единицы в массиве а потом поменял значение справа от них на 1? Целью задания является узнать за сколько повторений цикл заполнит необходимые элементы.
int h = 1;
while (h < 5) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
if (array[i][j] == 1) {
if (j < (M - 1)) {
array[i][j + 1] = 1;
}
}
}
}
h++;
}
Во внутреннем цикле обходи справа налево и смотри налево, тогда не будешь "наступать" на только что измененный элемент.
int[] arr = new int[]{0, 1, 2, 0, 0};
for (int i = arr.length - 1; i > 0; i--) {
if (arr[i - 1] == 1)
arr[i] = 1;
}
System.out.println(Arrays.toString(arr));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу вывести значения базы данных на страницу ввиде таблицы id, name, email, не получаетсяКто знает, скажите как сделать правильно, потому что выдает...