Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198

Список: Как вставить в список несколько элементов и присвоить адрес списка в элементу Node* ListMas[10];?

02.04.2018, 12:08. Показов 3265. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вставить в список несколько элементов и присвоить адрес списка в элементу Node* ListMas[10];?

C++
1
2
curr->data = "q";
    ListMas[1] = curr;
тут только один добавляется.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// L2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
#include <conio.h>
#include <stdlib.h>
 
using namespace std;
 
 
//стуктура, описывающая узел связанного списка
struct Node
{
    string data;
    Node* next;
};

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    List myList;
 
    setlocale(LC_ALL, "Russian");
    
        Node* ListMas[10];
    
 
    Node* curr;
    curr = new Node;
 
        curr->dataQ = "q";
    ListMas[val] = curr;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.04.2018, 12:08
Ответы с готовыми решениями:

Двусвязный список. Как обратиться к первому элементу списка
Добрый день. Есть программа, для которой нужно сделать функцию FindMin, которая бы находила наименьший элемент из элементов одного типа...

Предикат p(U, V, L) - истинный, когда список L есть список из элементов списка U без элементов списка V (Visual Prolog)
Здравствуйте, помогите разобраться с моей реализацией Видел уже решение данной задачи другим способом, но очень интересно понять почему...

Вставить в список элементы другого списка после каждого вхождения X, если X входит в исходный список
Само задание(: Вставьте в список элементы другого списка после каждого вхождения X, если X входит в исходный список. Например: ,X=1, ...

39
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
02.04.2018, 14:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от 314251 Посмотреть сообщение
если индекс который я ввёл свободен
проблема в том, что для списка нет такого понятия, как индекс элемента списка! Это не массив! Элементы ссылаются друг на друга! Можно, конечно, их считать, но это, по большому счету, изврат! Создайте массивы адресов строк, и работайте с ними по индексу!
Вы не ответили на вопрос:
Цитата Сообщение от liv Посмотреть сообщение
что будете делать, если зададите индекс, больший количества элементов списка?
Я так и не услышал точное условие задачи, только Вашу интерпретацию: "сделать как-то" - это не условие задачи.

Добавлено через 1 минуту
Так понимаю, Вы с трудом представляете себе, что такое список...
0
Заблокирован
02.04.2018, 14:29
Цитата Сообщение от 314251 Посмотреть сообщение
а N это мой элемент, который я ввожу?
Где N?
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:29  [ТС]
что-то не так
Миниатюры
Список: Как вставить в список несколько элементов и присвоить адрес списка в элементу Node* ListMas[10];?  
0
Заблокирован
02.04.2018, 14:31
Цитата Сообщение от 314251 Посмотреть сообщение
for (Node* n = ListMas[val]; n->next != nullptr; n = n->next) // если занято
ты пропустил точку с запятой в конце цикла.

Добавлено через 12 секунд
314251, код внимательно посмотри!

Добавлено через 53 секунды
314251, вторая строка это не код в цикле. Это после цикла. А n надо вынести

Добавлено через 30 секунд
C++
1
2
3
Node* n = ListMas[val];
for (; n->next != nullptr; n = n->next);
new_node = n->next = new Node;
Вот так примерно.
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:34  [ТС]
хмм
Миниатюры
Список: Как вставить в список несколько элементов и присвоить адрес списка в элементу Node* ListMas[10];?  
0
Заблокирован
02.04.2018, 14:35
314251, уверен на 100%, что ты у себя массив не инициализировал с самого начала NULL ptr'ами. Тогда, да, и хм, и прочее - нормально и ожидаемо.
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:39  [ТС]
вот он полностью
Миниатюры
Список: Как вставить в список несколько элементов и присвоить адрес списка в элементу Node* ListMas[10];?  
0
Заблокирован
02.04.2018, 14:40
И не забывай после создания Node у нее next инициализировать нулем. Можно прям в конструкторе.

Добавлено через 22 секунды
314251, думай
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:42  [ТС]
исправь, пожалуйста, очень надо, прошу
0
Заблокирован
02.04.2018, 14:44
У тебя даже отладчик в студии есть. Все карты на руках. Почему ты не хочешь разобраться?

Добавлено через 1 минуту
Цитата Сообщение от 314251 Посмотреть сообщение
исправь, пожалуйста, очень надо, прошу
Я про инициализацию уже написал. В ListMas - мусор. И next в ноде при создании не инициализируется. Это нужно исправить.
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:44  [ТС]
честно, я пытался, я уже 2 дня сижу над ним, 500 строк кода перебирал разные варианты, вот уже прошу помощи тут
0
Заблокирован
02.04.2018, 14:45
314251, ладно, спрошу по другому. Ты знаешь, как обнулить массив?
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:46  [ТС]
честно признаюсь, нет, так как недавно начал изучать программирование
0
Заблокирован
02.04.2018, 14:48
Ну вот тут
ListMas[val] = curr;
ты по индексу val записываешь curr. Сделай то же самое, но для всех элементов массива в цикле и вместо curr ноль. про {0} я пока молчу.
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 14:52  [ТС]
ListMas[val] = {0};?
0
Заблокирован
02.04.2018, 14:53
314251, а зачем фигурные скобки здесь нужны? Есть еще NULL, и nullptr вместо 0.
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 15:09  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (val = 3)
        {       
            ListMas[val] = NULL;
            Node* new_node = nullptr;
            if (ListMas[val] == nullptr)
            {
                new_node = ListMas[val] = new Node;
            }
            else
            {
                Node* eL = ListMas[val];
                for (; eL->next != nullptr; eL = eL->next);
                new_node = eL->next = new Node;
            }
            
            new_node->data = "data";
        }
так?

Добавлено через 15 минут
и еще когда мы помещаем новую ноду если было пусто, нода же пустая получается сейчас в коде
0
Заблокирован
02.04.2018, 16:12
Не совсем. Так получится, что ты каждый раз обнуляешь текущий список. А надо это сделать один единственный раз перед началом работы с массивом.

Добавлено через 1 минуту
Цитата Сообщение от 314251 Посмотреть сообщение
еще когда мы помещаем новую ноду если было пусто, нода же пустая получается сейчас в коде
Не понял этого предложения.
0
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 198
02.04.2018, 21:32  [ТС]
C++
1
new_node = ListMas[val] = new Node;
ну тут же пустой ноде, да?
0
Заблокирован
04.04.2018, 22:33
Цитата Сообщение от 314251 Посмотреть сообщение
ну тут же пустой ноде, да?
Нет. Смотри. Вот код, который проверяет, есть ли у нас по этому индексу вообще список. Делает он это через проверку, что указатель не нулевой. Но, чтобы проверка работала как надо, все указатели изначально должны быть нулевыми. Их надо сделать такими перед началом работы основного кода. Все просто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2018, 22:33

Односвязный список. Подсчитать сумму N первых элементов. Удалить эти элементы и вставить в конец списка
Помогите, плиз доработать функцию summ - она должна подсчитать сумму N первых элементов. Удалить эти элементы и вставить в конец списка. ...

Найти среднее арифметическое отрицательных элементов списка и вставить его в список перед первым отрицательным элементом
Помогите,пожалуйста, написать программу Ввести неопределенное количество вещественных чисел и сформировать из них список. Найти...

программа которая берет список и создает список другой из этого же списка + тот же список без последнего элемента
надо написать программу которая берет список и создает список другой из этого же списка + тот же список без последнего элемента к...

Если первый и последний элементы списка-аргумента - символы, то сформировать список с первого и последнего элементов, иначе вернуть начальный список
Напишите, пожалуйста, функцию, которая для аргумента-списка формирует список-результат за правилом: если первый и последний элементы...

Список: Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка?
Как добавлять элемент в список, не в начало и не в конец, а между 1 и 2 элементами списка? Вот сам список: #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru