0 / 0 / 0
Регистрация: 06.11.2014
Сообщений: 27
1

Линейный однонаправленный список

09.02.2015, 19:48. Показов 1522. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть программа, которая инициализирует, заполняет и удаляет список. При компиляции появляется ошибка, что c и m в функции main() не инициализированы. В чем может быть проблема? Как можно переработать код (без добавления классов), если ниже представленный вариант безнадежен? И почему запись, например, List_Node c.head = new List_Node подчеркивается, как некорректная? (ниже в коде записано, как c.head = new(List_Node), строка 19)

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
#include <iostream>
#include <cstdlib>
#include <clocale>
 
struct List_Node
{
    int value;           //информационное поле узла 
    List_Node *next;     //указатель на следующий узел списка
};
 
struct List
{
    List_Node *example;  //указатель на текущий элемент списка
    List_Node *head;     //указатель на первый элемент списка
};
 
void InitList(List c)
{
    c.head = new (List_Node);
    c.example = c.head;
    c.example->next = NULL; //создание заголовочного звена
}
 
void InPutList(List c)
{
    int number;
    std::cin >> number;
    while (number <= 100)
    {
        c.head = new(List_Node); //резервируем место для нового объекта
        c.example = c.head;
        c.example->value = number;
        c.example->next = NULL; //создаем пустой указатель на случай, если условие в while выполнится.
        std::cin >> number;
        for (c.example = c.head; c.example != NULL; c.example = c.example->next)
        {
            std::cout << c.example->value << " ";
        }
    }
}
 
void DeleteList(List c, List_Node m)
{
    List_Node *delete_1; //указатель на заголовочное звено
    List_Node *delete_2; //указатель на первый элемент в списке
    delete_1 = c.head;
    delete_2 = m.next;
    while (delete_2 != 0)
    {
        delete_1 = delete_2;
        delete_1 = delete_1->next;
        delete delete_1;
    }
    delete  c.head;
}
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "RUS");
 
    List_Node m;
    m.value;
    m.next;
 
    List c;
    c.example;
    c.head;
 
    InitList(c);
    InPutList(c);
    DeleteList(c, m);
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2015, 19:48
Ответы с готовыми решениями:

Однонаправленный линейный список
здравствуйте! помогите помочь написать задача или киньте ссылку по её решению. &quot;однонаправленный...

Линейный однонаправленный список
ПОМОГИТЕ СДЕЛАТЬ ПОЖАЛУЙСТА Читая целые числа из текстового файла, создать линейный односвязный...

Линейный однонаправленный список
всем доброго времени не получается создать функцию слияния двух списков методом расчесок( допустим...

Линейный однонаправленный список
Добрый вечер! Задача: L – линейный однонаправленный список Проверить, упорядочены ли элементы...

1
99 / 35 / 9
Регистрация: 22.08.2014
Сообщений: 104
09.02.2015, 20:09 2
А что значат строки 62-63 и 66-67? Видимо, онми и не нравятся. Ведь если вы объявили экземпляр структуры, то все поля этого экземпляра уже объявлены, и их не надо отдельно объявлять. Зато в них надо записать какие-то значения, иначе как с этим работать?
Например, m.value = 666;
а указатель чтоб указывал на что-то.
1
09.02.2015, 20:09
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2015, 20:09
Помогаю со студенческими работами здесь

Линейный циклический однонаправленный список
Задание организовать очередь с приоритетом (у каждого элемента свой приоритет). Элементы с...

Линейный однонаправленный список; ошибка сегментации
Инициализируется всего одна структура данных, затем система пишет: &quot;Ошибка сегментации&quot;....

Линейный однонаправленный список. Удаление элементов
Создать линейный однонаправленный список. Удалить из него все символы 'p' перед символом 'a'....

линейный однонаправленный список (вопрос по сути)
Не понимаю смысла линейного однонаправленного списка. Допустим есть список: struct Node {...


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

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

Новые блоги и статьи
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru