Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 28.12.2017
Сообщений: 22
1

Заменить повторяющиеся элементы массива

05.01.2018, 18:05. Показов 5334. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача: Удалить из массива все повторяющиеся элементы, оставив их первые вхождения, т. е. в массиве должны остаться только различные элементы. Удалить т.е. сдвинуть влево и заменить нулем.

Подопните в нужную сторону. Как сдвигать я вроде понял. Пытаюсь минимальным проходом заменить повторяющиеся элементы нулями.
Второй вывод работает как надо, но он вызван до конца цикла и как его зафиксировать не пойму. После цикла в выводе нули.
Может есть способ проще? но без использования list и продвинутых классов.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  
public static void main(String[] args) {
        Scanner userInput = new Scanner(System.in);
        System.out.println("Please enter lenght array:");
        int n = 0;
        n = userInput.nextInt();
        int[] arr = new int[n];
        int arr2[] = new int[n];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (int) (Math.random() * 10); //наполнение массива рандом
            System.out.print(arr[i]); // проверка
 
        }
 
         for (int i = 0; i < n; i++) {   System.out.print(arr[i] + " ");
            for (int t = n; t > 0; t--) {
            if (arr[i] > 0 &&  arr[t - 1] ==  arr[i]) {
                arr[t-1] = 0;
                }
 
            }
 
        }
 
 
 
        for (int b = 0; b<arr.length; b++) {
            System.out.print(arr[b] + " ");
        }}
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2018, 18:05
Ответы с готовыми решениями:

Удалить из массива повторяющиеся элементы
Доброе время суток, писал программку и даже дописал и работает правильно. Но мне что-то кажется,...

Как удалить повторяющиеся элементы с массива и вывести их на экран
Массив не сортированный, вбивается с клавиатуры. Вписываются только положительные числа, когда...

Задача заключается в том что бы сложить 2 массива, и убрать повторяющиеся элементы
Задача заключается в том что бы сложить 2 массива, и убрать повторяющиеся элементы,я смог сложить и...

Заменить неотрицательные элементы массива их кубом, другие удвоить
Объявить целочисленный массив SAD . Ввести значения элементов массива с клавиатуры. Заменить...

1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.01.2018, 18:16 2
считаешь размер массива без дубликатов N.
создаешь новый массив размера N.
Проходишь по элементам исходного массива, если элемента еще нет в новом массиве - записываем, если уже есть - пропускаем (вероятно будут две переменные - в первой будет храниться индекс в исходном массиве, во второй - в индекс в новом массиве).
0
05.01.2018, 18:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2018, 18:16
Помогаю со студенческими работами здесь

Заменить повторяющиеся элементы рандомного массива на нули и вывести их в конец массива
Заменить повторяющиеся элементы рандомного массива на нули и вывести полученные нули в конец...

Заменить на 0 все повторяющиеся элементы динамического массива
Сформировать динамический одномерный массив и заполнить его случайными числами.Заменить на 0 все...

Заменить все повторяющиеся элементы на квадрат элемента массива
2. Дан массив размером 14x14. Заменить все повторяющиеся элементы на квадрат этого элемента.

Дана матрица.Заменить все повторяющиеся элементы - 1, а не повторяющиеся - 0
Дана матрица. Заменить все повторяющиеся элементы - 1, а не повторяющиеся - 0. Как мне заменить?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru