Треугольный массив

  • 6
  • Недоступна
Создай треугольный массив, где значение каждого элемента - это сумма его индексов. Например: array[7][3] = 7 + 3 = 10, array[3][0] = 3 + 0 = 3. Выведи массив на экран в следующем виде: 0 1 2 2 3 4 3 4 5 6 4 5 6 7 8 5 6 7 8 9 10 ... Числа в строке разделены пробелом. Задать треугольн
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (128)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Наиль Султанов
Уровень 1, Челны, Russian Federation
около 16 часов назад
тоже пришел к такому решению, но забыл result[i] = new int[i + 1]; и бился долго.
Сергей
Уровень 6, Речица, Беларусь
вчера, 13:23
На заметку тем у кого не проходит по первому пункту: массив result уже обьявлен.
Юлия
Уровень 7, Russian Federation
4 августа, 11:46
Задать треугольный массив можно следующим образом: int[][] array = new int[10][]; array[0] = new int[1]; array[1] = new int[2]; array[2] = new int[3]; Все хорошо, но это зачем... ...
nnS#31222
Уровень 8, Краснодар, Russian Federation
30 июля, 15:28
Долго не мог решить п.2 из-за строки System.out.println(result[i][j] + " "); нужно было просто прописать через print: System.out.print(result[i][j] + " "); Объясните, почему это была ошибка, ведь мы все равно выводим на экран ln, не понимаю разницы между обычным выводом и println. Спасибо.
Divannik
Уровень 7, Санкт-Петербург, Russian Federation
3 августа, 13:38
print просто выводит данные, а println еще и переносит курсор на одну строчку вниз после этого
Valery Zabaluev
Уровень 8, Казань, Russian Federation
23 июля, 20:04
вот это вот пояснение только путает: Задать треугольный массив можно следующим образом: int[][] array = new int[10][]; array[0] = new int[1]; array[1] = new int[2]; array[2] = new int[3]; ...
Raizly
Уровень 7, Карелия, Russian Federation
2 августа, 15:14
Интересно, что в предыдущих задачах не было подсказок, которые бы направляли на путь решения задачи, а тут подсказу дают, но эта подсказка не является правильным выбором для решения задачи.
nikinou
Уровень 7, Murmansk, Russian Federation
3 августа, 16:51
Что Вы имеете в виду? Напротив, этим способом задается массив очень легко. Главное - помнить о порядке присвоения индексов элементам массива🙃
Valery Zabaluev
Уровень 8, Казань, Russian Federation
4 августа, 12:43
про эту якобы "подсказку": array[0] = new int[1]; array[1] = new int[2]; array[2] = new int[3]; ...
worried-cell
Уровень 13, Киев
11 июля, 16:31
Спасибо, Учитель!
Oleg Filippoff
Уровень 6, Russian Federation
10 июля, 17:22
Всем привет, специально не стал листать комменты, чтобы не увидеть решение. Можете мне объяснить задание, я что-то запутался, сначала говорят, что значения в каждом массиве, это сумма его индексов, потом просят вывести пирамиду, где числа идут по порядку от суммы чисел этих индексов до максимальной возможной с учетом длины массива, что в итоге должно выводится на экран? Потому что у меня вот такая пирамида по условиям получилась 1 3 3 5 5 5 7 7 7 7 9 9 9 9 9 11 11 11 11 11 11 13 13 13 13 13 13 13 15 15 15 15 15 15 15 15 17 17 17 17 17 17 17 17 17 19 19 19 19 19 19 19 19 19 19
Александра Ивчик
Уровень 13, Rome, Italy
21 июля, 20:27
Очевидно ошибка в циклах. Хотелось бы взглянуть на ваш исходный код.
javIAN
Уровень 8, Georgia
8 июля, 07:54
странно проходить обучение по комментариям к заданию...
Марк
Уровень 15, Москва, Россия
7 июля, 10:10
Классно конечно. Сначала даётся задача и ты просто тратишь сутки в пустоту, потому что...
(int j = 0; j < result[i].length; j++) {
потому что оказывается что так тоже можно, но объясняется это в лекциях сразу ПОСЛЕ задачи, а не ДО. Гениально... Спасибо 👍
Александр
Уровень 7
7 июля, 13:04
Это ты length имеешь в виду? Если да, то про него рассказывали и в разделе одномерных массивов
Власов Антон
Уровень 12
27 июня, 04:43
Мое решение несколько отличается от целевого из подсказки, т.к. я для лучшего понимания самим собой, "поделил на блоки". Блок 1. Создаем треугольный массив:
public class Solution {

    public static int[][] result = new int[10][];

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            result[i] = new int[i + 1];
        }
Блок 2. Заполняем массив данными.
for (int i = 0; i < result.length; i++) {
            for (int j = 0; j < result[i].length; j++) {
                result[i][j] = i + j;
            }
        }
Блок 3. Выводим данные в консоль.
for (int i = 0; i < result.length; i++) {
            for (int j = 0; j < result[i].length; j++) {
                System.out.print(result[i][j] + " ");
            }
            System.out.println();
        }
Наверно получился не самый оптимальный вариант, но пока по другому голова не придумала. Вообще, скажу так, для того что бы все это уложилось в голове, необходимо задачи из курса решить несколько раз (проверял на себе на других курсах). Это легко можно сделать в IDE, копируете текст с условиями задачи к себе и решаете к удобной для вас среде разработки. Ну и честно проверить самого себя, само собой разумеется.
Daniel
Уровень 10, Минск, Belarus
28 июня, 14:35
Я решил 1 в 1 как в правильном решении. У вас просто лишние разы перебирается массив result. По вашей логике отдельно создали, отдельно заполнили, отдельно вывели. Но все эти процессы можно делать параллельно. Создал ячейку, сразу же ее заполнил, сразу же вывел, перешел к следующей. Изначально тоже писал все функции раздельно, но потом пришел к выводу, что если ты пишешь один и тот же код повторно, то скорее всего есть возможность его оптимизировать)
public class Solution {

    public static int[][] result = new int[10][];

    public static void main(String[] args) {
        for (int i = 0; i < result.length; i++) {
            result[i] = new int[i + 1];
            for (int j = 0; j < i + 1; j++) {
                result[i][j] = i + j;
                System.out.print(result[i][j] + " ");
            }
            System.out.println();
        }
    }
}
Наиль Султанов
Уровень 1, Челны, Russian Federation
около 15 часов назад
а где есть ide, которое работает также.