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

вставить в структуру - C++

Восстановить пароль Регистрация
 
Igoryok
0 / 0 / 0
Регистрация: 16.11.2010
Сообщений: 5
29.11.2010, 16:42     вставить в структуру #1
подскажите, пожалуйста, как мне правильно вставить строку с клавиатуры в структуру?
при запуске вроде отображается правильно, ввожу строку, вставляется, но если второй раз ввести строку, первая строка изменяется. если строка длинная (например - "аааааааааааааааааа"), то вообще не понятно что получается.
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
80
81
82
83
84
#include <stdafx.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#include <iostream.h>
#include <stdlib.h>
 
struct Node
{
    char *info;
    struct Node *left, *right;
};
 
Node *s1 = 0, *s2 = 0;
 
Node * insert(Node *root, char *ch)
{
    if(root == 0)
    {
        root = (Node *)malloc(sizeof(Node));
        root ->info = new char [strlen(ch) + 1];
        root ->info = ch;
        root ->left = root ->right = 0;
    }
    else if(strcmp(ch, root ->info) <= 0)
    {
        root ->left = insert(root ->left, ch);
    }
    else
    {
        root ->right = insert(root ->right, ch);
    }
 
    return root;
}
 
void show(Node *n)
{
    if(n)
    {
        show(n ->left);
        printf("%-7s", n ->info);
        show(n ->right);
    }
}
 
 
void main()
{
    s1 = insert(s1, "abc");
    s1 = insert(s1, "def");
    s1 = insert(s1, "ghi");
 
    s2 = insert(s2, "123");
    s2 = insert(s2, "456");
    s2 = insert(s2, "789");
 
    void show();
    show();
 
    void test();
    test();
 }
 
void show()
{
    cout << "\n s1 = " << endl;
    show(s1);
    cout << endl;
    cout << "\n s2 = " << endl;
    show(s2);
    cout << endl;
}
 
void test()
{
    while(true)
    {
        char ch [256];
        cin >> ch;
        s1 = insert(s1, ch);
        show();
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2010, 16:42     вставить в структуру
Посмотрите здесь:

C++ Структуру
C++ Дан двумерный массив размером 5 * 8, заполненный случайным образом. Вставить перед всеми строками, первый элемент которых делится на3,вставить....
Очередь с++ (вставить после каждого элемента, который содержит данную цифру вставить элемент x) C++
указатель на структуру C++
отсортировать структуру C++
Как правильно написать функцию, которая редактирует структуру по полю Name и возвращает новую, исправленную структуру?.. C++
Как создать структуру-список, поля которой — ссылка на такую же структуру C++
C++ Вставить между одинаковыми символами вставить " * " (звёздочку) (есть наброски)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru