Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lev_
3 / 3 / 0
Регистрация: 26.05.2014
Сообщений: 168
Завершенные тесты: 1
#1

Шаблон поиска элементов по заданному значению - C++

02.06.2014, 16:44. Просмотров 227. Ответов 2
Метки нет (Все метки)

не находит индекс задаваемого элемента из списка.
мне подсказывали убрать node *cur = head->next; из цикла, т.к. он определен в начале, но все равно не находит.
пробовал наоборот, node *cur = head->next; убрал в начале и поставил в цикле, но теперь не видит переменную cur из условия if (cur == head).
может кто подскажет где ошибка?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template<class T>
int list<T>::Search(T &val)
{   
    node *cur = head->next;
    sum_oper = 0;
    int i = 1;
    if(val < 0 || head->next==head)
    {
        return 0;
    }
    for(node *cur = head->next; ((cur->data!=val)&&(cur!=head)); cur=cur->next)
    {
        i++;
        sum_oper++;
    }
    if (cur == head)
    {
        i=0;
    }
    return i;
}
C++
1
2
3
4
5
6
7
int val;
cout << "Введите искомое значение: ";
cin >> val;
if(l.Search(val))
         cout << "Не найдено!";
else cout << "Индекс искомого значения: " << l.Search(val);
...................................
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2014, 16:44     Шаблон поиска элементов по заданному значению
Посмотрите здесь:

Написать программу бинарного поиска элемента массива равного заданному значению - C++
Помогите написать программу бинарного поиска элемента массива равного заданному значению, в которой новое значение индекса m определялось...

Массив: Заменить последний из отрицательных элементов в массиве на три элемента, равных заданному значению. - C++
Вставка в вектор новых элементов 1)Заменить последний из отрицательных элементов в массиве на три эле¬мента, равных заданному значению....

Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. - C++
В общем суть задачи такова: Дан равнобедренный треугольник с катетом - a, гиппотенузой - b, высотой - h и площадью - s, и, нужно...

Одномерные массивы. Вывести на экран массив, составленный из номеров элементов исходного массива, которые равны заданному значению. - C++
Надоела уже наверное...ноо..выручайте( с++ Задан массив целых чисел. Вывести на экран массив, составленный из номеров элементов...

Шаблон функции для поиска произведения всех элементов одномерного массива - C++
Есть задание: /* Создать функцию-шаблон. Используя эту функцию, проверить её для разных типов параметров (int, double, float). ...

Вычислить значение функции по заданному значению переменных: - C++

В файле нужно сделать выбор по заданному значению - C++
Помогите с файлом, нужно сделать выбор по автору. В чем может быть ошибка, подскажите, пожалуйста? #include&lt;iostream&gt; ...

Вычислить значение y= (tgx-cos(x-ln2,51))/(x*x+3) по заданному значению x - C++
Здравствуйте, уважаемые пользователи. Помогите пожалуйста написать код от начала и до конца для данного задания: Вычислить значение y по...

Вычислить значение функции заданной графически, по заданному значению аргумента х - C++
Помогите пожалуйста с заданием :) я не понимаю как его делать :( Нужно вычислить значение функции, заданной графически, по заданному...

Подобрать к заданному числу ранвую или близкую по значению переменную - C++
Вобщем есть 10 переменных. Пользователь задает число Н и к нему подбирается равная либо большая (максимально к нему близкая) по значению...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
you_rule
56 / 57 / 21
Регистрация: 08.03.2014
Сообщений: 138
02.06.2014, 16:57     Шаблон поиска элементов по заданному значению #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template<class T>
int list<T>::Search(T &val)
{   
    node *cur = head->next;
    sum_oper = 0;
    int i = 1;
    if(val < 0 || head->next==head)
    {
        return 0;
    }
    for(; ((cur->data!=val)&&(cur!=head)); cur=cur->next)
    {
        i++;
        sum_oper++;
    }
    if (cur == head)
    {
        i=0;
    }
    return i;
}
C++
1
2
3
4
5
6
int val;
cout << "Введите искомое значение: ";
cin >> val;
if(l.Search(val)==0)
         cout << "Не найдено!";
else cout << "Индекс искомого значения: " << l.Search(val);
проблема не в функции, а в условии вне ее
lev_
3 / 3 / 0
Регистрация: 26.05.2014
Сообщений: 168
Завершенные тесты: 1
02.06.2014, 17:04  [ТС]     Шаблон поиска элементов по заданному значению #3
благодарю, сработало!
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru