Один большой массив и два маленьких

  • 5
  • Недоступна
Жил-был массив, и был он большой. В какой-то степени, разумеется. И были у него два приятеля-массива, которые были вдвое меньше. Наша задача — манипуляция этими ребятами. Числа из большого массива мы должны перенести в два маленьких (в порядке очереди), а затем второй маленький массив вывести на экран. Справитесь?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (265)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Олексій Моцьор 7 уровень
среда, 19:21
Создал три масива. Один большой, два по 10, Потом System.arraycopy(number,0, number1, 0, 10); System.arraycopy(number, 10, number2, 0, 10);
Борис 8 уровень, Санкт-Петербург
9 октября, 13:11
Подсказка: Второй цикл начать с 10 индекса от большого массива ( int b ) Записывать в 0 индекс третьего массива, путем int a = 10; b = a - b;
Volodymyr Bilenkyi 8 уровень, Ivano-Frankivsk
9 октября, 06:13
Решил через три for: 1) Заполнения большого массива. 2) Присваивание первому маленькому первих 10 значений большого (обычное присваивание, только исходя из длины маленького) 3) Изначально ввел интовою переменную = 0, цикл начинаем из 10. Но теперь присваиваем второму маленькому из индексом введеной переменной следующые значения большого массива. Затем выводим принтом второй массив и уже ПОСЛЕ делаем перемнная ++. Очень простое решение :)
DAS 7 уровень, Москва
вторник, 14:47
если в два цикла, то первый - заполняем max массив, во втором min1[i] = max[0+i]; min2[i] = max[10+i]; Выводим нужный по условиям задачи.
Gennady Filimonov 12 уровень
7 октября, 16:07
Почему не работают команды из лекции https://javarush.ru/groups/posts/1933-klass-arrays-i-ego-ispoljhzovanie int [] numbersCopy = Arrays.copyOf(numbers, 4); System.out.println(Arrays.toString(numbersCopy));
Gennady Filimonov 12 уровень
10 октября, 20:14
Спасибо за развернутый ответ)
Алексей Поверенный 8 уровень, Одинцово
2 октября, 07:39
Может кому поможет. Потратил кучу времени, на задачу, но без комментов, так и не понял, как заполнить второй массив не выходя за его приделы. По этому прочитал и посмотрел про Класс Array и решил с его помощью. Если что: Импортируем класс import java.util.Arrays, и для второго массива System.arraycopy(big, 10, small2, 0,10); где big- название большого массива, 10-с какого индекса начинаем копировать, small2- название второго малого массива, 0- заполнить начиная с нулевого индекса, 10- сколько скопировать всего.
Kirill 10 уровень, Санкт-Петербург
10 октября, 15:27
Для использования методов класса System (java.lang.System) не нужно ничего импортировать.
Aleksei 9 уровень
30 сентября, 23:41
Зачем инициализировать сразу 2 маленьких массива? Для чего? Гораздо логичнее звучало бы: скопируйте поровну содержимое большого массива в два маленьких (половину чисел в один, вторую половину в другой). Если делать всё по заявленному условию, получается рабочий, но кривой говнокод.
Nikita 9 уровень, Klagenfurt
25 сентября, 20:04
Решил через два цикла for. Один цикл заполнял все ячейки. Другой заполнял вторую половину и выводил на экран. Чтобы вывести массив 10-20 просто во втором цикле +10 для массива на 20 ячеек поставить. Просто не было. Потратил 2 часа, потому что не до конца понял как бегает строка и как массивы декларируются. После этого урока понял больше, чем знал вчера!
Виктор 9 уровень, Санкт-Петербург Expert
22 сентября, 18:29
1. Создал 3 массива и БуфферРидер. 2. Всю логику запихнул в один цикл for, который пробегается по всей длине большого массива. 3. Внутри этого цикла for: сначала в индекс большого массива записывается число с клавиатуры. 4. Затем проверяем, если переменная i из условия цикла for меньше длины первого маленького массива, то в индекс малого массива копируем значение индекса большого массива. 5. Таким образом первые 10 чисел в каждой итерации цикла for параллельно записываются в большой массив и первый маленький. 6. Как только заполняется первый малый массив, то проверка if переходит на else, в которой мы уже в индекс второго маленького массива (со сдвигом [i-10] ) записываем значение из индекса большого, выглядит это так: if (i < firstNums.length) firstNums[i] = bigNums[i]; else secondNums[i-10] = bigNums[i]; 7. Таким образом последующие 10 чисел пишутся в большой массив и второй малый. 8. Ещё одним циклом for выводим содержимое второго малого массива в консоль. 9. Думаю, что изобрёл велосипед и как-то наизнанку решил задачу, но, валидор принял. 10. Всё получится! -- Канал в телеге про Java и Android, в котором есть книги для скачивания, статьи, видеоуроки, чат для обмена знаниями и моральной поддержки : ) Давайте учиться вместе: @LetsCodeIt p. s. Мой личный телеграм канал вкатывальщика в прогерство: @SefoNotasi
Sergey Zerg 12 уровень
24 октября, 14:15
так же решал. велосипедом это не считаю. самое изящное и быстрое решение на мой взгляд))
Тимофей Данкевич 9 уровень, Beer Sheva
12 сентября, 01:13
Очень не понятно почему задача не принимает решение с помощью методов класса Arrays.
Сэм Фишер 19 уровень, Кишинев
2 сентября, 09:58
Будьте осторожны - желательно все манипуляции проводить в основном методе main. я вынес заполнение массива и копирования в отдельные методы и хоть оно все и работало, валидатор ругался(