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

В односвязный список добавляется последний нулевой элемент

08.04.2016, 13:38. Показов 1548. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, такая проблема, почему-то в список добавляется последний нулевой элемент, в чем может быть трабл ?

скрин


Вот код, где я заполняю список:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Work_With_Lists::Init_Posts(string FileName)
{
    ifstream file(FileName);
    head = new List_Post;
    List_Post* end = head;
    while (!file.eof())
    {
        char buff[1024];
        file.getline(buff, 1024);
        for (int i = 0; buff[i] != '\0'; i++)
            end->post += buff[i];
        end->next = new List_Post;
        end = end->next;
        end->next = NULL;
    }
    file.close();
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2016, 13:38
Ответы с готовыми решениями:

односвязный список не вставляет последний элемент
крашит при вставке последнего( с остальными вроде все норм #include<iostream> using namespace std; struct A { int key; }; ...

Односвязный список: удалить последний элемент равный 0
Удалить последний элемент однонаправленного списка равный 0.

Односвязный список, поменять местами элементы (максимальный и последний)
Дан не пустой односвязный список, в котором каждый элемент имеет тип: struct elem { int num; elem* next; } Написать функцию...

6
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.04.2016, 13:51
В конце файла пустой строки нет?
0
0 / 0 / 0
Регистрация: 22.10.2015
Сообщений: 12
08.04.2016, 13:53  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
В конце файла пустой строки нет?
Нет , это я проверял
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.04.2016, 13:57
Ты сам создаёшь лишний элемент в конце цикла.
0
0 / 0 / 0
Регистрация: 22.10.2015
Сообщений: 12
08.04.2016, 13:59  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Ты сам создаёшь лишний элемент в конце цикла.
Понимаю, но как тогда заполнять ?
Или нужно ифом в конце просто сделать, что если последняя итерация , то не создавай новый элемент ?
0
 Аватар для Armatus
56 / 56 / 44
Регистрация: 24.03.2016
Сообщений: 378
08.04.2016, 14:01
Eugene17, если это удовлетворяет требованиям к твоему коду, то почему бы и нет?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
08.04.2016, 14:38
Лучший ответ Сообщение было отмечено Eugene17 как решение

Решение

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
void Work_With_Lists::Init_Posts(string FileName)
{
    head = NULL;
    List_Post* end;
    char buff[1024];
 
    ifstream file(FileName);
 
    while (file.getline(buff, 1024))
    {
        if (head == NULL)
        {
            head = new List_Post;
            end = head;
        }
        else
        {
            end->next = new List_Post;
            end = end->next;
        }
        end->next = NULL;
        for (int i = 0; buff[i] != '\0'; i++)
            end->post += buff[i];
    }
    file.close();
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.04.2016, 14:38
Помогаю со студенческими работами здесь

Линейный односвязный циклический список с указателем на последний узел
Здравствуйте! При объявлении такого типа следует указывать только указатель на следующий элемент: type elptr = ^el; ...

В массиве из N чисел найти последний нулевой элемент
2. В массиве из N чисел найти последний нулевой элемент

Ввести А. Последний нулевой элемент каждой строки заменить на А.
Ввести А. Последний нулевой элемент каждой строки заменить на А.

Ввести А. Последний нулевой элемент каждой строки заменить на А
Ввести А. Последний нулевой элемент каждой строки заменить на А.

Поменять местами последний нулевой элемент и первый минимальный
Всем доброго времени суток. Помогите пожалуйста с решением задачки. Ну ооочень надо. Заранее спасибо


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru