|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.02.2023, 21:12 | #1 |
Новичок
Джуниор
Регистрация: 14.02.2023
Сообщений: 1
|
Как сравнить группу элементов в одномерном массиве в с++ и заменить определенные элементы в нем на нули?
Дан целочисленный массив а1, а2,…, аn, среди элементов которого могут быть равные. Из каждой группы равных между собой элементов нужно оставить только один, выбросив все остальные. Освободившийся хвост массива заполнить нулями. Нужно сделать циклами и нельзя использовать stl библиотеку. Нельзя использовать динамическое выделение памяти, онли статическое.
Код:
|
15.02.2023, 22:25 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
|
16.02.2023, 02:56 | #3 |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
Код:
Код:
|
16.02.2023, 07:33 | #4 | |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
->
Код:
Цитата:
Код:
|
|
16.02.2023, 09:34 | #5 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Пётр Седов,
Код:
ADD: Maxon12, Подсказка. Элемент массива является первым в своей очереди, если перед ним (с индексами меньшими чем у текущего элемента) в массиве нету равных ему элементов. Код:
Последний раз редактировалось macomics; 16.02.2023 в 12:24. |
17.02.2023, 01:14 | #6 | |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
Можно и так, но автору темы STL запретили:
Хотя скорее всего авторы задания имели в виду, что нельзя использовать функцию std::unique, которая тут как раз подходит. Можно так: Код:
Цитата:
|
|
17.02.2023, 01:19 | #7 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Но ничего не сказано про то, что группы определены подряд. Такие условия обязательно оговариваются в задании. В данном случае под группой понимаются все равные друг другу элементы (идущие в любой последовательности). А термин группа здесь применяется, чтобы отвести решающего от простоты алгоритма.
|
17.02.2023, 01:47 | #8 |
Форумчанин
Регистрация: 26.10.2022
Сообщений: 119
|
Так это же очевидно, что две единицы в разных концах массива не считаются группой.
Зачем оговаривать очевидное? Это ваши домыслы, это нигде в задании не написано. |
17.02.2023, 03:26 | #9 | |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
В задании четко описан принцип определения элементов в группе. Для того, чтобы элемент принадлежал группе он должен соответствовать условию:
Цитата:
Здесь термин группа применен для того, чтобы показать, что равных между собой элементов может быть несколько значений. Более того. Разрешается оставить любой элемент из группы, а не обязательно первый. Главное, чтобы он остался в массиве в единственном экземпляре, для каждой группы равных Но предполагается, что элементы будут собраны в начале массива, а все повторяющиеся в конце. После чего они будут обнуляться Но это как подсказка к решению без использования динамического выделения памяти. P.S. Повторите определение терминов группа и последовательность. Вы перепутали группу с последовательностью. Последний раз редактировалось macomics; 17.02.2023 в 04:01. |
|
17.02.2023, 07:05 | #10 |
фрилансер
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,010
|
std::cin и std::cout, однако, не запретили Ок, std:: optional легко имитируется флажком
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В двумерном массиве A из m строк и n столбцов найти сумму всех элементов и заменить на нули элементы на главной диагонали. | Григорий 0512 | Помощь студентам | 0 | 16.07.2017 13:43 |
В одномерном массиве все элементы этого массива умножить на среднее арифметическое наибольшего и наименьшего элементов этого массива | Danil_322 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 24.12.2016 17:55 |
в массиве все максимальные элементы заменить первым элементом, а все минимальные элементы заменить последним элементом | Валерия2701 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 12.10.2011 15:49 |
заменить в одномерном массиве каждый из элементов суммой его делителей | IRINOK | Помощь студентам | 2 | 16.12.2010 12:18 |
В матрице отрицательные элементы заменить на нули | denis12345 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 13.06.2009 17:25 |