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

Почему не реализовывается список?

09.12.2011, 18:37. Показов 703. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь для начала создать список из 2-ух элементов, но не получается
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
 
using namespace std;
 
struct Spos
{
    int val;
    Spos* next;
};
 
void AddInSpisok(Spos* pS)
{
    Spos _new;
    _new.val = 2;
    _new.next = NULL;
 
    pS->next = &_new;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    Spos sp1;
 
 
    sp1.val = 1;
 
    AddInSpisok(&sp1);
 
    Spos* ch = &sp1;
 
    while(ch != NULL)
    {
        cout<<ch->val<<endl;
        ch = ch->next;
    }
 
    getch();
    return 0;
}
В итоге выводит примерно это:
1
237235474 (как я понял это адрес ячейки)
237456541
Хотя должно вывести только:
1
2

Объясните пожалуйста - что я не так делаю?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2011, 18:37
Ответы с готовыми решениями:

как реализовывается
point (p,a,b) // р - модуль x:=0; while (x&lt;p) w:=(x^3+ax+b) mod p // w - это у^2 if (w - целое значение квадратного корня Zр)...

Не реализовывается идея полноэкранного отображения
Друзья, создаю сайт и хочу сделать так, чтобы скролинг был не по пиксельный а по высоте экрана. Есть какой-то якорь или как сделать,...

Как правильно реализовывается многопоточность
Здравствуйте! Стоит задача создать несколько потоков, которые будут выполнять какие-то действия. У Шлее (профессиональное...

1
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
09.12.2011, 21:18
Все дело в ф-ии AddInSpisok.
C++
1
2
3
4
5
6
7
void AddInSpisok(Spos* pS)
{
  Spos _new;
  _new.val = 2;
  _new.next = NULL;
  pS->next = &_new;
}
смотрим на строку
pS->next = &_new;

Переменная _new - локальная (на стеке). т.е. в список вы засовываете адрес локальной переменной. После выхода из эта переменная исчезает. Память, в которой она находилась начинает использоваться для других нужд. В общем тут нужно понимать разницу между локальными (на стеке) объектами и объектами в динамической памяти.
Исправляется так:
C++
1
2
3
4
5
6
7
void AddInSpisok(Spos* pS)
{
  Spos* _new = new Spos();
  _new->val = 2;
  _new->next = NULL;
  pS->next = _new;
}
Не забываем о том, что все, что выделено через new должно быть удалено через delete.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2011, 21:18
Помогаю со студенческими работами здесь

Пример из книги Харта не реализовывается
Выдает ошибку fatal error LNK1120: 1 unresolved externals пример из книги харта нереализовывается,помогите исправить Пример:...

Какими путями реализовывается самообучение в нейросетях?
Добрый день! Написал программу на C# для распознавания букв и цифр с помощью AForge.Neuro - работает сносно, я доволен. Делается все...

Как реализовывается функция подписки на сайте?
Добрый день, я недавно начал изучать это направление, не могу разобраться, как реализовывается подписка на сайте? По идее, ты оставляешь...

Работа с линейными списками с#(не реализовывается код)
Вот такое задание: В проекте нужно организовать возможность ввода пользователем последовательности скобок с консоли. Программа должна...

Как реализовывается взаимосвязь клиента и программы на сервере
Здравствуйте! Помогите пожалуйста разобраться в web программировании. Я хочу сделать программу сервер и клиент. Сервер - ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru