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

  • 4
  • Недоступна
Жил-был массив, и был он большой. В какой-то степени, разумеется. И были у него два приятеля-массива, которые были вдвое меньше. Наша задача — манипуляция этими ребятами. Числа из большого массива мы должны перенести в два маленьких (в порядке очереди), а затем второй маленький массив вывести на экран. Справитесь?
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (132)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Sherlock04048 уровень, Москва
2 мая, 07:45
Для тех, у кого метод System.arraycopy принимает 5 параметров: Parameters src − This is the source array. srcPos − This is the starting position in the source array. dest − This is the destination array. destPos − This is the starting position in the destination data. length − This is the number of array elements to be copied.
RomanBk15 уровень
20 апреля, 14:01
Не нужно никакого копирование, просто присваиваем значения. Можно было и второй for по сути не использовать. Лупить в else if "System.out.println(mid2[i-10]);"
Sergey Vladimirovich9 уровень, Москва
20 марта, 19:38
C помощью этой статьи решил https://javadevblog.com/kak-skopirovat-massiv-v-java.html
Александра13 уровень, Москва
26 марта, 12:53
Спасибо, помогло)
Alex7 уровень
суббота, 11:40
Спасибо за статейку!
Евгений11 уровень, Харьков
20 марта, 16:22
Простым копированием в цикле аля a[i]=b[i] не удалось решить, вылезала ошибка синтаксиса.Но как-то можно, примеры внизу это подтверждают. Начал искать методы для копирования содержимого массивов. copyOf почему-то у меня тоже не зашел, так и не понял, что не так делал. А System.arraycopy норм. Он принимает в себя 5 аргументов, 2 из них - имена массивов, 3 - численные значения.Путем подбора понял, как именно осуществляется сдвиг, и забор элементов массива для копирования (например, с 1 по 10 или с 5 по 15 или с 10 по 20), в зависимости от того, какие числа вводишь в качестве параметров. Заодно понял, что вывести массив вне цикла без каких-либо приспособлений (а как с ними - так и не понял, как реализовать) - нельзя, потому что суть цикла в том и заключается, чтобы вывести много строк/чисел вместо одной. Каждая задача, даже если ее не удается решить самому, не лазая в интернет за дополнительніми справками, дает +100 к опыту. Надеюсь, что все проблемные нюансы как-то отложатся в голове, и в следующий раз, скажем, через месяц, если мне попадется эта же проблема вновь, я уже смогу разобраться быстрее, а не искать опять по новой.
Vladimir10 уровень
18 марта, 20:29
не могу решить
Александр9 уровень, Москва
17 марта, 15:58
/* Комментарий удален */
АртемGeek18 уровень, Москва
6 марта, 11:36
Сначала хотел сделать два for для обоих присваиваний, но задумался зачем расширять код, если можно добавить ветвление if , которой определяет индекс. Для тех, кто сделал можете посмотреть
Pavel Kurashov14 уровень, Новосибирск
17 февраля, 14:10
По моему они нам просто морочат голову, или ленятся с нормальным валидатором: Я вообще не стал заносить значения в массив, а просто сразу вывел вторую половину ввода.
for (int i = 0; i < 10; i++) rd.readLine();
for (int i = 10; i < 20; i++) System.out.println(rd.readLine());
Alexander Seychas10 уровень
7 февраля, 10:29
Для заполнения второго маленького массива использовался цикл с новой переменной, но без добавления к ней 1, валидатор принял даже такое решение, но разве при нем не заполняется только ячейка с индексом 0, а все остальные остаются пустыми? Делает только: принял - вывел, принял - вывел... А заполнение не происходит, разве нет? int a = 0; for (int i = 10; i < 20; i++){ small2[a]= big[i]; System.out.println(small2[a]); //a++; закомментирована }
Vladlen Arkanov11 уровень
15 февраля, 13:16
Можно (и оптимальнее) заполнить оба массива в одном цикле. Первые 10 чисел в первый "маленький массив", остальные - во второй. Зачем плодить сущности сверх необходимого.
Марина 9 уровень, Москва
23 января, 13:25
удивительно, но это единственная задача из этой лекции, которая далась с первого раза