Редактирование: мне нужно поддерживать порядок, в котором элементы присутствуют в исходном массиве, поэтому сортировка не будет работать.Печать только уникальных элементов в массиве
У меня есть 1-мерный массив, содержащий некоторые элементы, и я использую printf()
в C, но я хочу только напечатать элемент тогда и только тогда, когда он еще не был напечатан раньше.
Я думаю об использовании вложенных циклов для сравнения, если элемент, который я собираюсь напечатать из текущей позиции в массиве, уже присутствовал в нижнем индексе массива, но он не работает. Что мне не хватает? Или мой подход не так?
До сих пор, я попробовал это, что не работает:
int arr[20];
После этого я не принимать пользовательский ввод для нет. элементов в p
и, конечно же, p < 20. Затем пользователь вводит элементы один за другим. Для этого я использую scanf()
.
for(i=1;i<=p;i++)
{
for(j=i+1;j<=p;j++)
{
if(arr[i]!=arr[j])
{
printf("%d",arr[j]);
}
}
}
_ "Есть либо слишком много возможных ответов, или хорошие ответы будут слишком долго для этого формата. Пожалуйста, добавьте детали, чтобы сузить ответ установить или изолировать проблему, можно ответить на несколько пункты. "_ –
Первое, что нужно спросить себя:« Как бы я это сделал? » (Интересно, кто это делает?) –
Какие типы элементов вы печатаете? Можете ли вы показать нам попытку? – Veltas