Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 26.11.2014
Сообщений: 23

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

22.03.2015, 15:58. Показов 1501. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер