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

  • 5
  • Недоступна
Жил-был массив, и был он большой. В какой-то степени, разумеется. И были у него два приятеля-массива, которые были вдвое меньше. Наша задача — манипуляция этими ребятами. Числа из большого массива мы должны перенести в два маленьких (в порядке очереди), а затем второй маленький массив вывести на экран. Справитесь?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (240)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Евгений9 уровень, Москва
17 June, 15:23
Через System.arraycopy все делается довольно просто, главное не путаться с индексами. Метод универсальный, выполняет как частичное так и полное копирование. Синтаксис - System.arraycopy("массив-элементы которого будем копировать" , "с какого индекса копировать элементы" , "результирующий массив" , "первый элемент результирующего массива" , "общее количество элементов для копирования")
Vladimir Shevchenko7 уровень, Днепр
позавчера, 12:41
Thanks bro
Mikhail Lazarau16 уровень, Гродно
15 June, 10:59
Валидируется успешно
int[] arraySmallOne = new int[10];
arraySmallOne = Arrays.copyOf(arrayBig, 10);
int[] arraySmallTwo = new int[10];
arraySmallTwo  = Arrays.copyOfRange(arrayBig,10,20);
Не валидируется
int[] arraySmallOne = Arrays.copyOf(arrayBig, 10);
int[] arraySmallTwo = Arrays.copyOfRange(arrayBig,10,20);
Инициализация массивов разная - результат в консоли одинаков. Забейте: логики нет, валидатор пьян. Если автор сего опуса - дурачок, то пиши комментарий.
SanSs7 уровень, Москва
12 June, 16:17
Весь мозг ломал...все проверил... сделал кучу проверок... валидатор не пускает (кто дурак?) int[] numb = new int[20]; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); for (int i = 0; i < 20; i++) {String s = reader.readLine(); numb[i] = Integer.parseInt(s);} int[] numb1 = Arrays.copyOf(numb, 10); int[] numb2 = Arrays.copyOfRange(numb, 10,20); System.out.println(numb1.length); System.out.println(numb2.length); System.out.println(Arrays.toString(numb1)); System.out.println(Arrays.toString(numb2)); for (int i = 0; i <10; i++) {System.out.println(numb2[i]); }//напишите тут ваш код } Вывод 10 10 [5, 10, 16, 17, 9, 3, 4, 46, 97, 89] [12, 45, 98, 111, 42, 98, 98, -9, 71, -150]
max8 уровень
5 July, 09:16
нужно вывести только
[12, 45, 98, 111, 42, 98, 98, -9, 71, -150]
Сергей12 уровень, Санкт-Петербург
10 June, 22:14
очень советую (не реклама) смотреть параллельно задачам курс на ютубе наиля алишева java для начинающих. или читать "библиотеку профессионала" хорстмана. посмотрел первые 49 уроков алишева на ютубе гораздо понятнее стали задачи. а то смотрел на них как баран на ворота, уровня так с пятого. не усваиваю подачу лекций здесь диалогами, как будто за меня общаются, отвечают, вроде "в принципе все понятно...", а я так, слушаю со стороны. Еще попробовал лекции уровня прочитать и задачи наоткрывать а потом скопом решать. Схема не работает, вернулся к первоначальной - решаю по мере поступления.
Panda Wild8 уровень, Казань
5 June, 08:44
Почему-то не прошла валидацию такая формулировка вывода второго маленького массива: System.out.println(Arrays.toString(arr2)); - ошибка. В условиях ни слова не написано, что выводить нужно с новой строки каждый элемент.
Artem Minsk7 уровень, Минск
Thursday, 17:00
5. Вывести второй маленький массив на экран, каждое значение выводить с новой строки.
Cruelz14 уровень, Санкт-Петербург
4 June, 16:41
Для всех любителей усложнить, вроде меня - проверка не проходит, если вместо 10 в длине массива у вас стоит bigmass.lenght/2. Хотя по факту программа работает как надо 😀
Сергей Терлецкий7 уровень, Киев
Thursday, 09:39
Пасииб, милчеловек!И ничего это не усложнение, так и нужно писать 👍, а хардкодить типа new int[10] - это плохо попахивает
Anton Podoynikov8 уровень, Москва
26 May, 16:57
https://javadevblog.com/kak-skopirovat-massiv-v-java.html мне помогло!!))
Nazar10 уровень, Киев
29 May, 15:43
Спасибо, тоже помогло
Tamerlan Amaev16 уровень, Подмиланье
22 May, 12:44
System.arraycopy
Иван15 уровень, Москва
20 May, 19:54
Для второго маленького массива, который нужно вывести на экран, просто добавил "+10";
Mihail Klimenko9 уровень, Краснодар
19 May, 13:54
решил в один цикл for() и в один if(). Валидатор разрешил выводить на экран значения второго маленького массива на экран параллельно с вводом чисел с клавиатуры. Теперь посмотрю в комментариях, как можно было сделать изящнее :)
Verhun Kyrylo17 уровень
29 May, 08:51
Тоже так сделал, но подумал, что валидатор не пропустит и переделал вывод отдельно.