ВСЕМ ПРИВЕТ. ПРОХОЖУ КУРСЫ ОБУЧЕНИЯ. ЗАДАЛИ НЕ ПРОСТУЮ ЗАДАЧУ НО Я НЕ ГДЕ НЕ МОГУ НАЙТИ ТЕОРИЮ О ОМ КАК ЕЕ РЕШИТЬ.
ВОТ ЗАДАЧА Ти вже навчився оголошувати та наповнювати одно- і двовимірні масиви, а що стосовно отримання елементів по індексу? Ось завдання, яке допоможе нам це перевірити. Ми створили для тебе три змінні: Двовимірний масив int[][] array, int rowIndex, int columnIndex. Все, що тобі потрібно зробити, це знайти елемент по заданих індексах в масиві array і порахувати суму його сусідніх елементів по горизонталі та вертикалі. Результат збережи у змінну neighboursCellsSum.
Приклад: int rowIndex = 1; int columnIndex = 1; int[][] array = {[ 2, 3, 5], [ 1, 7, 1], [ 5, 9, 2]}; Відповідь: int neighboursCellsSum = 3 + 1 + 1 + 9 = 14;
ИЛИ НА РУССКОМ ЯЗЫКЕ
Ты уже научился объявлять и наполнять одно и двумерные массивы, а о получении элементов по индексу? Вот задача, которую поможет нам это проверить. Мы создали для тебя три переменные: Двумерный массив int [] [] array, int rowIndex, int columnIndex. Все, что тебе нужно сделать, это найти элемент по заданным индексам в массиве array и посчитать сумму его соседних элементов по горизонтали и вертикали. Результат сохрани в переменную neighboursCellsSum.
Пример: int rowIndex = 1; int columnIndex = 1; int [] [] array = {[2, 3, 5], [1, 7, 1], [5, 9, 2]}; Ответ: int neighboursCellsSum = 3 + 1 + 1 + 9 = 14;
ПРОСТО КРУГОМ РАСКАЗЫВАЕТСЯ КАК СУММИРОВАТЬ ЭЛЕМЕНТЫ В ОДНОМЕРНОМ МАССИВЕ А КАК ЭТО СДЕЛАТЬ В ДВУХ МЕРНОМ Я НЕ ГДЕ НЕ НАХОЖУ ПРИДУМАЛ САМ ВОТ ТАКОЙ КОД НО ТАМ ПРОВЕРОЧНАЯ СИСТЕМА ВЫДАЕТ ОШИБКУ ЧТО НЕ ПРАВИЛЬНАЯ ЛОГИКА ВОТ ЧТО Я САМ ПРИДУМАЛ
int neighboursCellsSum = array[columnIndex][rowIndex] + array[columnIndex + 1][rowIndex] + array[columnIndex][rowIndex] + array[columnIndex][rowIndex + 1];
// ИЛИ МОЖЕТ БЫТЬ ВОТ ТАКИМ ОБРАЗОМ РЕШИТЬ ЗАДАЧУ
int neighboursCellsSum = array[columnIndex - 1][rowIndex] + array[columnIndex + 1][rowIndex] + array[columnIndex][rowIndex - 1] + array[columnIndex][rowIndex + 1];
вот что я еще перепробовал
но тут я не знаю как в цикле for синтаксически правильно указать параметры двухмерного массива по этому перепробованный кодинг не работает.
поправте меня где я ошибся.
//Write code below this line
/*
for(rowIndex=0; rowIndex <= array.length; rowIndex++),
(columnIndex=0; columnIndex <= array.length; columnIndex++)
{
neighboursCellsSum += array[rowIndex][columnIndex];
}
*/
System.out.println(neighboursCellsSum[rowIndex][columnIndex]);
// может так
/*
for (rowIndex = 0; rowIndex <= array.length; rowIndex++),
(columnIndex = 0; columnIndex <= array.length; columnIndex++)
array[rowIndex][columnIndex];
int neighboursCellsSum = 0;
for (int e : array) neighboursCellsSum += e; {
System.out.println(neighboursCellsSum[rowIndex][neighboursCellsSum]);
}
}
}
*/
//или как то так
/*
neighboursCellsSum = 0;
//int rowIndex;
// Iterate through all elements summing them up
for (rowIndex = 0; rowIndex <= array.length; rowIndex++),
(columnIndex =0; columnIndex <= array.lenght; columnIndex++);
neighboursCellsSum += array[rowIndex][neighboursCellsSum];
System.out.println(neighboursCellsSum [rowIndex][neighboursCellsSum]);
*/
/* {
neighboursCellsSum = 0;
//int rowIndex;
// Iterate through all elements summing them up
for (rowIndex = 0; rowIndex <= array.length; rowIndex++,
columnIndex =0; columnIndex <= array.lenght; columnIndex++)
neighboursCellsSum += array[rowIndex][neighboursCellsSum];
return sum;
}
System.out.println(neighboursCellsSum[rowIndex][neighboursCellsSum]);
*/
Роман Маляренко
1 уровень
не знаю как прописать суммирование соседних элементов в двухмерном массиве.
Обсуждается
Комментарии (9)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
10 июля 2021, 13:49
Тебе нужно найти сумму ячеек, у которых:
- columnIndex на 1 больше, чем у заданной ячейки
- columnIndex на 1 меньше
- rowIndex на 1 больше
- rowIndex на 1 меньше
При этом неплохо бы удостовериться, что ты не вылезешь за пределы матрицы (вдруг твоя ячейка находится у ее края).
0
Роман Маляренко
10 июля 2021, 14:14
ЗДРАСТВУЙТЕ. благодарюю. только я не могу понять как это прописать в одном цикле, но я не где не нахожу как это прописать для двухмерного массива в одном цикле что бы вывести это одним числом на екран согласно заданию. спасибо. мне надо просто каркас кода типа мат модель.
0
Роман Маляренко
10 июля 2021, 14:22
я понимаю логику но не знаю как правильно синтаксис делать. Есть какая то модель программного кода что бы туда просто подставить свои названия переменных или значения и все; учитывая то что языки программирования существуют давно и не всегда надо выдумлять велосипед.
0
Ksenia VolkovaJava Developer в DXCMaster
10 июля 2021, 15:46
Программирование - это инженерная специальность. То есть это как раз про умение создавать свои модели, а не про то, чтобы подставлять значения в шаблоны.
Кроме того, почти любую задачу можно решить несколькими способами.
0
Роман Маляренко
14 июля 2021, 14:36
здраствуйте.
я решил свою задачу по поводу поиска суммы соседних чисел массива. если интересно то могу прислать решение.
0
Mike Mux
22 августа 2021, 12:04
Я бы охотно посмотрел на решение
0
Dana_kub QA Automation Engineer
24 августа 2021, 19:19
Роман, а пришлите решение, интересно посмотреть, Спасибо,
0
Mike Mux
11 сентября 2021, 20:03
Роман, напишите решение плиз
0
Anonymous #2993718
12 сентября 2022, 18:19
Мне пришли
0