• Июля 03, 2020, 12:17:59 pm
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: Вебинар по выбору IT профессии: http://bit.ly/2S4kcC6

Автор Тема: Объединение двух массивов  (Прочитано 21006 раз)

Artem

  • Клиенты
  • Пользователи
  • *****
  • Сообщений: 11
    • Просмотр профиля
Объединение двух массивов
« : Марта 06, 2014, 05:37:56 pm »
Написать ф-ю для объединения 2-х массивов в один. Вывести результат на консоль.


package arra;

import java.util.Arrays;

public class cout {
public static int[] joinArrays(int[] first, int[] second) {
    if (first == null) {
        return second;
    }
    if (second == null) {
        return first;
    }
    int[] res = new int[first.length + second.length];

    System.arraycopy(first, 0, res, 0, first.length);
    System.arraycopy(second, 0, res, first.length, second.length);

    return res;
}

public static void main(String[] args) {
    int[] arr1 = {1, 1, 1};
    int[] arr2 = {2, 2, 2, 2};       
   
String res = Arrays.toString(joinArrays(arr1, arr2));
System.out.println(res);
}

« Последнее редактирование: Марта 07, 2014, 09:43:27 am от Vsevolod »

Vsevolod

  • CEO
  • Administrator
  • Пользователи
  • *****
  • Сообщений: 1923
    • Просмотр профиля
    • Курсы программирования
    • E-mail
Re: Сумма двух массивов
« Ответ #1 : Марта 07, 2014, 09:43:03 am »
Да! Только классы называем с заглавной буквы!
Prog.kiev.ua - курсы Java/Android/QA/Front-End. (044) 232-65-48, (093) 256-51-48, (095) 0-777-300, (096) 0-555-111

Masher

  • Пользователи
  • *
  • Сообщений: 15
    • Просмотр профиля
    • E-mail
Re: Объединение двух массивов
« Ответ #2 : Сентября 07, 2014, 08:06:29 pm »
Есть еще одна задача на объединение массивов:
Дано два массива одинаковой длинны, упорядоченных по возрастанию. Объединить массивы так, чтобы получился один упорядоченный массив. Пример: {1, 3, 10} + {2, 5, 8} = {1, 2, 3, 5, 8, 10}.
Мое решение:
import java.util.Arrays;


public class Zadacha10 {
public static void main (String [] args) {

int [] a = {2, 3, 10, 12};
int [] b = {1, 5, 8, 9};
int [] c = new int [a.length+b.length];

// объединение двух массивов в один
for (int i = 0; i <c.length/2; i++) {
if (a[i]>b[i]) {
c[i+i] = b[i];
c [i+i+1] = a [i];
} else {
c [i+i] = a [i];
c [i+i+1] = b [i];

}

}

// проверка упорядоченности массива, в случае, если
// элемент одного массива меньше предыдущего элемента
// второго массива

for (int i=0; i<c.length-1; i++) {
int t = c[i];
if (c[i]>c[i+1]) {
c[i] = c[i+1];
c [i+1] = t;
    }

}

System.out.println (Arrays.toString(c));
}
}

Vsevolod

  • CEO
  • Administrator
  • Пользователи
  • *****
  • Сообщений: 1923
    • Просмотр профиля
    • Курсы программирования
    • E-mail
Re: Объединение двух массивов
« Ответ #3 : Сентября 08, 2014, 08:44:47 pm »
Цитировать
Есть еще одна задача на объединение массивов:
Можно красивее: http://cybern.ru/sliyanie-dvux-uporyadochennyx-massivov-realizaciya-na-java.html
Prog.kiev.ua - курсы Java/Android/QA/Front-End. (044) 232-65-48, (093) 256-51-48, (095) 0-777-300, (096) 0-555-111