Форум программистов, компьютерный форум CyberForum.ru

список (в программе обнуляются указатели на структуры) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить пересекаются ли окружности и найти среди них уединенные(в истории не нашел( ) http://www.cyberforum.ru/cpp-beginners/thread924932.html
Окружности задаются координатами X,Y их центров и радиусами R. Датчик случайных чисел вырабатывает характеристики N окружностей. Определить, имеются ли среди этих окружностей три попарно пересекающихся. Найти среди этих окружностей все уединенные. Добавлено через 6 минут Или киньте плиз ссылку с такой прогой))
C++ Пошаговая Детализация Как бы я сам учу пока паскаль , но вот надо сделать задание по сишке .Буду благодарен за любую подсказку . Задание : Матрицы вещественных чисел . Поменять столбцы с максимальными элементами. http://www.cyberforum.ru/cpp-beginners/thread924931.html
C++ Функция замены Builder 6
На практику в одном из пунктов задания (нужно написать текстовый редактор) нужно выполнить процедуру поиска и замены. Поиск я реализовал, не могли бы вы помочь с заменой? Мб у кого-то есть готовая функция замены в тексте? А то найти не могу информацию по замене. Спасибо.
О чем задача? C++
Не пойму некоторых начальных условий задачи. Особенно пунктов 40-43 с ветвлениями. Допустим А больше В, разница меньше 0 и выполняется комманда 4207 - заносится результат (А-В) в адресс 07. А дальше не пойму. Как проверить больше А или нет. Просто использовать "если"? Можно обратиться в ячейку 07 и вывести на экран - увидел что значение отрицательное и тогда, что-то исполняешь? Как найти макс...
C++ выделение памяти char* http://www.cyberforum.ru/cpp-beginners/thread924914.html
Подскажите пожалуйста как реализовать следующее: Человек вводит что-то с клавиатуры (строку и т.п.) И когда ему надоедает - нажимает enter - этим и завершает ввод строки. Проблема в следующем - нужно всё сделать своими функциями. Подскажите пожалуйста как примерно это реализовать? Я думал делать что-то типа: ввод одной буквы
C++ Русский и строки вот есть такой кусок кода, сравнивающий строки: while(getline(user_state, buffer)){ cout << "\n" << buffer; pos = buffer.find(your_msg); if(pos != -1) { for(int i = 0; i < buffer.size(); i++){ if(buffer == '=') {pos = i; break;} } buffer = buffer.substr(pos+1); cout <<... подробнее

Показать сообщение отдельно
viktorius
2 / 2 / 2
Регистрация: 24.02.2013
Сообщений: 105
18.07.2013, 06:56     список (в программе обнуляются указатели на структуры)
здравствуйте помогите найти ошибку, при возврате указателя на структуру из функции в функцию майн он обнуляется, это меня сбивает с толку разве указатель не сохраняет значение это же всего лишь адрес на объект
вот код мною написанный


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
#include<iostream>
using namespace std;
struct myst
{
    char name[10];
    int money;
    myst *next;
};
void print(myst *list)
{
    if(list==0)
        cout<<"not in the list of elements"<<endl;
    else
        while(list)
        {
            cout<<list->name<<endl
                <<list->money<<endl;
            list=list->next;
        }
}
myst *create_input(myst *list)
{
    list=new myst;
    list->next=0;
    cout<<"Enter the name and the amount of money"<<endl;
    cin>>list->name>>list->money;
    return list;
}
void create_list(myst *list,myst *beg,myst *end)
{
    list=create_input(list);
    beg=end=list;
    print(beg);
}
void first_list(myst *list,myst *beg,myst *end)
{
    list=create_input(list);
    list->next=beg;
    beg=0;
    beg=list;
    print(beg);
}
void last_list(myst *list,myst *beg,myst *end)
{
    list=create_input(list);
    end->next=list;
    end=0;
    end=list;
    print(beg);
}
int main()
{
    int n;
    char c=0;
    myst *list=0,*beg=0,*end=0;
    while(c!='0')
    {
        cout<<"press the action key"<<endl
        <<"exit '0'"<<endl
        <<"create a list '1'"<<endl
        <<"add an item to the top of the list '2'"<<endl
        <<"add an element to the end of the list '3'"<<endl;
        cin>>c;
        switch(c)
        {
        case '0':cout<<"the program is completed"<<endl;
            break;
        case '1':create_list(list,beg,end);
            break;
        case '2':first_list(list,beg,end);
            break;
        case '3':last_list(list,beg,end);
            break;
        case '4':;
        default: cout<<"mistake! Select a valid action"<<endl;
        }
    }
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru