0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 23

Организация поиска в списке. Исправить ошибку в методе поиска

22.03.2015, 15:58. Показов 1521. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сколько бы у меня желания не было, найти ее не могу. Может кто помочь? Заранее спасибо...
C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
struct MyNode
{
    int data;
    MyNode* pNext;
};
MyNode* pBegin = NULL;
MyNode* pEnd;
MyNode* pTemp;
int NumberOfElements = 0;
void AddData()
{
    if (pBegin == NULL)
    {
        pBegin = new MyNode;
        cout << "Введите данные -> ";
        cin >> pBegin->data;
            pBegin->pNext = NULL;
        pEnd = pBegin;
        NumberOfElements++;
    }
    else
    {
        pTemp = new MyNode;
        cout << "Введите данные -> ";
        cin >> pTemp->data;
        pEnd->pNext = pTemp;
        pTemp->pNext = NULL;
        pEnd = pTemp;
        NumberOfElements++;
    }
}
void PrintData()
{
    pTemp = pBegin;
    while (pTemp != NULL)
    {
        cout << "Данные -> " << pTemp->data << endl;
        pTemp = pTemp->pNext;
    }
}
void DeleteData()
{
    MyNode* pDel;
    pTemp = pBegin;
    while (pTemp != NULL)
    {
        cout << "Данные удалены " << endl;
        pDel = pTemp;
        pTemp = pTemp->pNext;
        delete pDel;
        NumberOfElements--;
    }
}
int FindElement(int Obrazec)
{
    pTemp = pBegin;
    int NumberFind = 0;
    while (pTemp != NULL)
    {
        if ((*pTemp).data == Obrazec){ NumberFind++; lal = NumberFind; return NumberFind; }
        pTemp = pTemp->pNext;
    }
    cout << "Данные не найдены :( " << endl;
    return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    char ansver = 'y';
    do
    {
        AddData();
        cout << "Продолжить ввод y/n -> ";
        cin >> ansver;
    } while (ansver == 'y');
    cout << "\n Список содержит " << NumberOfElements << " элементa \n\n";
        PrintData();
    cout << "Введите значение для поиска -> ";
    int DataFind;
    cin >> DataFind;
    if (int FindYes = FindElement(DataFind)) cout << "\n Элемент найден на " << FindYes << " месте :) \n\n";
    cout << "Удалить список ? y/n -> ";
    cin >> ansver;
    if (ansver == 'y')
        DeleteData();
    else cout << "Список не удален " << endl;
    system("Pause");
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2015, 15:58
Ответы с готовыми решениями:

Организация поиска с фото
Всем добрый день. Ребята подскажите как мне создать простенькую программу которая будет позволять Загружать с фотографии с компьютера и...

Организация поиска и сортировки
Помогите, кто знает, как организовать &quot;Базу студентов&quot; и реализовать на ней поиск (по ФИО, с выводом 3-х оценок по предметам и среднего...

Организация поиска в структуре С++
Помогите, пожалуйста, со структурой в С++. С этой темой у меня, можно сказать, трудности (переписываю 5 раз программу). Нужно сделать...

3
21 / 21 / 26
Регистрация: 17.03.2015
Сообщений: 119
22.03.2015, 16:06
А с чем конкретно помощь нужна?
C++ Скопировано
1
       if ((*pTemp).data == Obrazec){ NumberFind++; lal = NumberFind; return NumberFind; }
Переменную lal Вы не объявили.

Добавлено через 20 секунд
Какие ошибки компилятор выдает?
0
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 23
22.03.2015, 16:13  [ТС]
lal = NumberFind - это лишняя строчка, простите, забыл ее убрать
В том-то и дело, что компилятор молчит, но при поиске вот что происходит
Организация поиска в списке. Исправить ошибку в методе поиска

Тойсть, он любой элемент выдает за 1-ый в списке
0
21 / 21 / 26
Регистрация: 17.03.2015
Сообщений: 119
22.03.2015, 16:32
Лучший ответ Сообщение было отмечено Metricids как решение

Решение

C++ Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int FindElement(int Obrazec)
{
    pTemp = pBegin;
    int NumberFind = 1;
    while (pTemp != NULL)
    {
        if ((*pTemp).data == Obrazec)
        { 
            
            return NumberFind; 
        }
        NumberFind++; 
        pTemp = pTemp->pNext;
    }
    cout << "Данные не найдены :( " << endl;
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2015, 16:32
Помогаю со студенческими работами здесь

Организация поиска в текстовом файле
Помогите пожалуйста, сижу уже не первый день, не могу организовать поиск в файле, задача такого плана Операция: найти номер телефона...

Организация поиска в коде программы
#include &quot;stdafx.h&quot; #include&lt;iostream&gt; using namespace std; class road { private: int select; int go; ...

Организация поиска и выбора информации
Известна информация о 28 учениках нескольких школ,занимающихся в районном Доме творчества (фамилия, имя, адрес, номер школы и класс)....

организация поиска и вывода информации в С++
Добрый день! Помогите пожалуйста разобраться, я новичок, только начинаю изучать С++. Нужно организовать поиск по заданному курсу и вывод...

Написать подпрограмму поиска заданного элемента в списке
Помогите понять как это сделать. Задан текст состоящий из одной строки и оканчивающийся точкой. Написать подпрограмму поиска заданного...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как использовать Behavior Graph в Unity при создании игрового AI
GameUnited 14.04.2025
Искусственный интеллект в играх прошел долгий путь эволюции. От простейших алгоритмов, движущих призраками в Pac-Man, до сложных систем, управляющих поведением персонажей в современных AAA-проектах. . . .
Создание и стилизация списков в SwiftUI
mobDevWorks 14.04.2025
Списки — фундаментальный элемент мобильных интерфейсов. От списка контактов до ленты новостей, от настроек до каталога товаров — трудно представить приложение, которое не использовало бы этот. . .
Паттерн SAGA и распределённые транзакции в микросервисной архитектуре
stackOverflow 14.04.2025
Переход от монолитной архитектуры к микросервисам принес множество преимуществ: гибкость разработки, независимость развертывания и масштабирования отдельных компонентов. Однако этот переход создал и. . .
Кастомные аллокаторы в C++ и оптимизация управления памятью
bytestream 14.04.2025
Работа с памятью в С++ всегда была и остаётся одной из самых увлекательных и сложных задач для программиста. Любой опытный C++ разработчик подтвердит: стандартные механизмы аллокации памяти – штука. . .
Организация сетей в Kubernetes и эффективное развертывание
Mr. Docker 14.04.2025
Сетевая инфраструктура Kubernetes представляет собой сложную, но хорошо спроектированную систему, которая позволяет контейнерам взаимодействовать между собой и с внешним миром. За кажущейся простотой. . .
Многопоточность в Rust: Fearless concurrency и практические примеры
golander 14.04.2025
Многопоточное программирование связано с рядом известных проблем. Наиболее распространенные из них — гонки данных (data races), взаимные блокировки (deadlocks) и условия гонки (race conditions). Эти. . .
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер