Добавление элемента в массив путем сдвига
Вставить в массив число 10 после второго элемента(под вставкой числа n в массив после k-го элемента следует понимать: увеличение размера массива на 1; смещение всех элементов, начиная с (k+1)-го вправо на одну позицию; присваивание (k+1)-му элементу массива значения n).
Смогу сдвинуть элементы массива вправо, но не полностью(36 не показывает, то есть не увеличил длину массива) и добавил после 2-го элемента число 10.
int nums[] = { 14, 28, 60, 74, 98, 36 };
for (int t = 0; t < nums.length; t++)
System.out.print(nums[t] + " ");
System.out.println();
for (int j = nums.length - 1; j > 1; j--)
nums[j] = nums[j - 1];
nums[2] = 10;
for (int d = 0; d < nums.length; d++)
System.out.print(nums[d] + " ");
System.out.println();
Есть еще одно решение, но там получается полная белиберда, зато увеличил длину массива.
int nums[] = { 14, 28, 60, 74, 98, 36 };
for (int t = 0; t < nums.length; t++)
System.out.print(nums[t] + " ");
System.out.println();
for (int i = 0; i < nums.length; i++) {
if (i < 2) System.out.print(nums[i] + " ");
else {
for (int j = nums.length - 1; j > 1; j--)
nums[j] = nums[j - 1];
}
}
nums[2] = 10;
for (int d = 1; d < nums.length; d++)
System.out.print(nums[d] + " ");
System.out.println();
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
int n = nums.length;
int newnums[] = new int[n + 1];
for (int i = 0; i < k; i++) {
newnums[i] = nums[i];
}
newnums[k] = 10;
for (int i = k + 1; i <= n; i++) {
newnums[i] = nums[i - 1];
}