ПОЖАЛУЙСТА, НЕ ОТВЕЧАЙТЕ КОД, СОДЕРЖАЩИЙ ОТВЕТ. Я ХОЧУ ПРИБЫТЬ НА КОДЕ СЕБЯ.C++: проверка массива для дубликатов с использованием значения, переданного в функцию
У меня есть задание, которое просит создать класс. Это включает в себя создание функции, которая проверяет текущие значения в массиве для дубликатов на основе значения, передаваемые в. Например,
bool set::contains(const value_type& target) const
бы проверить, что цель находится в наборе и возвращает истину или ложь в зависимости от того, не существует. Эта функция затем будет заявлена в функции вставки, которая вставляет целевое значение в набор. Проблема? Прибытие в код для поиска по массиву и проверка наличия целевого значения.
У меня есть следующие переменные для моего класса:
data[CAPACITY] //array to store the items, where CAPACITY
//is a const storing the maximum number of items in the array
size_type used //how much of the array is used
Я попытался следующий цикл, и он не работает:
bool set::contains(const value_type& target) const
{
for (int i = 0; i < used; i++)
{
if (target == data[i])
{
return true;
}
else
{
return false;
}
}
}
Я полагал, что это будет работать, потому что кажется, что я итерируя через массив, просматривая, сколько из массива используется, а затем проверяя каждый индекс массива для целевого значения. Когда я тестирую этот код в своей основной функции, но печатное числовое значение всегда равно 0 или НЕТ.
Любые мысли? Я не могу отсортировать массив, как мы еще не узнали об этом.
Вы всегда будете проверять только первое значение вашего массива. Понимаете, почему? –
* ПОЖАЛУЙСТА, НЕ ОТВЕЧАЙТЕ КОД, СОДЕРЖАЩИЙ ОТВЕТ. Я ХОЧУ ПРИБЫТЬ НА КОДЕЛЕЙ MYSELF * - Тогда вы должны научиться использовать отладчик, который поставляется с вашим набором инструментов компилятора. Выполнение этого показало бы очевидную ошибку в вашем коде. – PaulMcKenzie
@PaulMcKenzie Хороший звонок. Это умение, которое я должен действительно оттолкнуть. – FrakkinShip