
Вопрос задан 01.10.2023 в 17:22.
Предмет Информатика.
Спрашивает Хайлова Катя.
Удаление дубликатов Напишите программу, которая выполняет "сжатие массива" – заполняет все копии
уже ранее встречавшихся элементов нулями и переставляет все нулевые элементы в конец массива. При этом все оставшиеся элементы располагаются в начале массива в том же порядке, что и в исходном массиве. Входные данные Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести в одну строчку все элементы получившегося массива, разделив их пробелами. Примеры входные данные 6 0 1 2 1 2 3 выходные данные 1 2 3 0 0 0

Ответы на вопрос

Отвечает Ахмедияров Мадияр.
##
var n := ReadInteger;
var a := ReadArrInteger(n); // массив создан
a := a.Where(t -> t > 0).Distinct.ToArray;
SetLength(a, n);
a.Print




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вы можете решить эту задачу на языке программирования Python. Вот пример программы:
python# Считываем размер массива N
N = int(input())
# Считываем элементы массива
arr = list(map(int, input().split()))
# Создаем словарь для отслеживания уникальных элементов и их индексов
unique_elements = {}
result = []
# Проходим по элементам массива
for num in arr:
# Если элемент уже был встречен, добавляем 0 в результат
if num in unique_elements:
result.append(0)
else:
# В противном случае, добавляем элемент в результат и обновляем индекс в словаре
unique_elements[num] = len(result)
result.append(num)
# Перемещаем все нули в конец массива
result.sort(key=lambda x: x == 0)
# Выводим результат
print(*result)
Пример ввода и вывода:
Входные данные: 6 0 1 2 1 2 3 Выходные данные: 1 2 3 0 0 0
Эта программа сначала создает словарь unique_elements
, чтобы отслеживать уникальные элементы и их индексы. Затем она проходит по элементам исходного массива, добавляя их в result
и обновляя словарь, если элемент уже встречался. После этого она сортирует result
, перемещая все нули в конец.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili