Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Добавление и удаление элементов в массиве / 9 сообщений из 9, страница 1 из 1
10.07.2014, 22:20
    #38693843
Bohdanchuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
Здравствуйте!
Столкнулся с проблемой добавление елементов в массив.
Задача усложняется тем что елемент нужно добавлять на конкретную позицию, в данной задаче это "k-1" и "k+1", нужно добавить индекс елемента и его квадратный корень соответственно.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
import java.util.Scanner;
public class Program1 {
    public static void main (String[] args) {
        int a;
        Scanner in = new Scanner(System.in);
        int arr[] = new int [10];
        for (int i = 0; i < arr.length; i++) {
            System.out.print("Введіть елемент arr[" + i + "]:");
            arr[i] = in.nextInt();
        }
        int k;
        int max = arr[0], Poz = 0;
        for (k = 0; k < arr.length; k++) {
                if (arr[k] > max) {
                    max = arr[k];
                    Poz = k;
                }
            }
        System.out.println("Максимальне значення "+max);
        System.out.println("Позиція максимального елемента "+Poz);
    }
}
...
Рейтинг: 0 / 0
10.07.2014, 22:39
    #38693851
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
Bohdanchukв данной задаче
Где задача то?
...
Рейтинг: 0 / 0
10.07.2014, 22:53
    #38693858
Bohdanchuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
забыл ник, это и есть задача, массив составляется из 10 елементов которые вводятся из клавиатуры, это есть в программе, дальше, программа находит максимальные елемент и его индекс, тоже есть, теперь нужно сформировать новые массив, в котором перед максимальным елементов добавляется его индекс, а после корень из него.
...
Рейтинг: 0 / 0
10.07.2014, 23:03
    #38693860
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
Bohdanchukсформировать новые массив

Ну так вот и решение же, создаешь массив размера x3, и пихаешь что надо
...
Рейтинг: 0 / 0
10.07.2014, 23:08
    #38693863
Bohdanchuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
забыл ник, а как скопировать остальную часть массива? в java на сколько я знаю есть способ перерасчета массива, для изменения количества элементов. Если вы понимаете как это оформить программно, прошу помочь мне.
...
Рейтинг: 0 / 0
10.07.2014, 23:14
    #38693867
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
Bohdanchukзабыл ник, а как скопировать остальную часть массива? в java на сколько я знаю есть способ перерасчета массива, для изменения количества элементов. Если вы понимаете как это оформить программно, прошу помочь мне.
в том то и дело что вам не надо ничего копировать, потому что элемнты будут иметь разные индексы, вам просто надо вставить в n ячейку - индекс, в N+1 - значение в n+2- корень в обычном цикле for
...
Рейтинг: 0 / 0
10.07.2014, 23:19
    #38693870
Bohdanchuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
забыл ник, я понимаю как теоретически реализовать, но практически не знаю как организовать код.
...
Рейтинг: 0 / 0
10.07.2014, 23:27
    #38693874
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
создаем массив размера n3
перебираем первый массив от нуля до n
на каждом шаге
считаем корень
вставляем в n - инедкс
в n+1 - сам элемент
в n+2 - корень.
...
Рейтинг: 0 / 0
11.07.2014, 10:42
    #38694077
DDiver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление и удаление элементов в массиве
Крайне странная задача :)
вот самый примитивный и топорный вариант
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
int[] newArray = new int[arr.length+2];
int newArrayIndex = 0;
for (int i=0; i<arr.length; i++) {
    if(i==poz) {
        newArray[newArrayIndex++] = poz;
        newArray[newArrayIndex++] = arr[i];
        newArray[newArrayIndex++] = max*max;
    } else {
        newArray[newArrayIndex++] = arr[i];
    }
}
System.out.println(Arrays.toString(newArray));


Код: plaintext
1.
2.
3.
Максимальне значення 10
Позиція максимального елемента 6
Массив до [0, 9, 8, 7, 6, 5, 10, 3, 2, 1]
Массив после [0, 9, 8, 7, 6, 5, 6, 10, 100, 3, 2, 1]
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Добавление и удаление элементов в массиве / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]