Напишите программу, которая изменяет массив, заполняя нулями все повторяющиеся элементы и перемещая все нулевые
Напишите программу, которая изменяет массив, заполняя нулями все повторяющиеся элементы и перемещая все нулевые элементы в конец массива. При этом, все оставшиеся элементы сохраняются в начале массива в том же порядке, что и в исходном массиве. Входные данные: первая строка содержит размер массива n. Во второй строке через пробел записаны n чисел - элементы массива. Гарантируется, что 0 < n ≤ 10000. Выходные данные: программа должна вывести все элементы получившегося массива в одной строке, разделяя их пробелами. Примеры: Входные данные: 6 0 1 2 1 2 3 Выходные данные:
11.12.2023 08:40
Инструкция: Для решения данной задачи, мы будем использовать следующий алгоритм:
1. Создаем два новых массива: один для сохранения оставшихся элементов (nonZeroArray), и второй для сохранения нулевых элементов (zeroArray).
2. Перебираем каждый элемент исходного массива:
- Если текущий элемент уже присутствует в nonZeroArray, то мы заменяем его на ноль.
- Если текущий элемент равен нулю, то мы добавляем его в zeroArray.
- В противном случае, мы добавляем его в nonZeroArray.
3. В итоге, получившийся массив будет сначала содержать все оставшиеся элементы в том же порядке, что и в исходном массиве, а затем все нулевые элементы.
Пример использования:
Входные данные: 6 0 1 2 1 2 3
Шаг 1: Создаем два новых массива - nonZeroArray и zeroArray, пустых в начале.
Шаг 2: Первый элемент 0 - добавляем его в zeroArray.
Шаг 3: Второй элемент 1 - добавляем его в nonZeroArray.
Шаг 4: Третий элемент 2 - добавляем его в nonZeroArray.
Шаг 5: Четвертый элемент 1 - заменяем его на ноль в nonZeroArray.
Шаг 6: Пятый элемент 2 - заменяем его на ноль в nonZeroArray.
Шаг 7: Шестой элемент 3 - добавляем его в nonZeroArray.
Шаг 8: Итоговый массив: 1 2 0 0 3 0
Совет: Чтобы лучше понять алгоритм, попробуйте визуализировать его на бумаге или воспроизвести его в коде на своем компьютере.
Упражнение: Напишите программу на языке программирования, которая решает данную задачу.