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

Односвязные списки: реализация стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ C++ / дописать в текст http://www.cyberforum.ru/cpp-beginners/thread73014.html
Вобщем программа читает из файла текст, заменяет нужные слова и выводит его. Но надо чтобы при выводе ещё вставлялись некоторые слова прям в начало текста. Как это сделать?
C++ Написать программу "Студент" двумя видами Нужно написать следующую программу: с использованием структуры, состоящей из переменных, определяющих объект «Студент»: фамилия, номер группы: А. Инициализация элементов структуры осуществляется внутри программы (используйте функцию strcpy) В. Ввод элементов структуры осуществляется с клавиатуры Ввод/вывод данных осуществить с использованием указателей. Я сколько ни пробовал ничего из этого... http://www.cyberforum.ru/cpp-beginners/thread73012.html
Инициализация переменной C++
class cRectangle{ public: cRectangle(); ~cRectangle(); void Rect(char h_symb, char v_symb, int init_x, int init_y, int h_symb_count, int v_symb_count); void DisplayServiceInf(); private: COORD a; HANDLE console;
C++ Нет подходящего конструктора!?!?!
Вот...задали задачу....создать шаблон список...добавления елементов в список....удаления и всякое такое.... написал....но выдает ошибку....а как исправить уже нету мысли.... помогите кто может!!!...в долгу не останусь ;) #include<iostream>
C++ Одномерный массив. http://www.cyberforum.ru/cpp-beginners/thread72990.html
Составить программу, выполняющую с одномерным массивом следующие действия: В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) произведение отрицательных элементов массива; 2) сумму положительных элементов массива, расположенных до максимального элемента. Изменить порядок следования элементов в массиве на обратный.
C++ Поменять местами первую строку в матрице с последней подскажите как поменять местами первую строку в матрице с последней???если матрица размера N на M подробнее

Показать сообщение отдельно
outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
12.12.2009, 00:21  [ТС]
Можете еще по деревьям помочь? У мене
сорс на Паскале
Pascal
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
Program bin_tree;
Uses Crt;
Type ptr = ^node;
     node = record
          inf : integer;
          left, right : ptr;
     end;
Var n, res : integer;
    root : ptr;
 
Function Tree(anode : integer) : ptr;
         var newnode : ptr;
             lnodes, rnodes, data : integer;
         begin
              if anode = 0 then
                 tree := nil
              else
                  begin
                       lnodes := anode div 2;
                       rnodes := anode - lnodes - 1;
                       write('Enter node data: ');
                       readln(data);
                       new(newnode);
                       with newnode^ do
                            begin
                                 inf := data;
                                 left := Tree(lnodes);
                                 right := Tree(rnodes);
                            end;
                       Tree := newnode;
                  end;
         end;
 
Procedure PrintTree(RootTree : ptr; L : integer);
          var i : integer;
          begin
               if RootTree <> nil then
                  with RootTree^ do
                       begin
                            PrintTree(left, L+1);
                            for i := 1 to L do write('  ');
                            writeln(inf);
                            PrintTree(right, L+1);
                       end;
          end;
 
Procedure PrefixOrder(RootTree : ptr);
         begin
              if (RootTree^.left = nil) and (RootTree^.right = nil) then
                 res := res + 1
              else
                  begin
                       if RootTree^.left <> nil then PrefixOrder(RootTree^.left);
                       if RootTree^.right <> nil then  PrefixOrder(RootTree^.right);
                  end;
         end;
 
Begin
     ClrScr;
     writeln(' -= Create and display tree =-');
     write('Enter number of tree''s nodes: ');
     readln(n);
     root := Tree(n);
     writeln('Created tree: ');
     PrintTree(root, 0);
     writeln;
     res := 0;
     PrefixOrder(root);
     writeln('Number of leafs: ',res);
     writeln('Press any key...');
     ReadKey;
End.
есть, по вашему примеру немного разобрался, но я не могу понять как реализировать равномерное распределение елементов по дереву (сначала все левые дети а потом правые определенной глубины, после чего углубление и продолжение добавления).
Да и еще, этот код выдает результат: количество лепистков дерева (бинарного).

Добавлено через 57 минут
Наброски кода
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
#include <iostream>
#include <string>
 
using namespace std;
 
struct node
{
    int inf;
    node* L, R;
};
 
class BinTree
{
public:
    BinTree(){root = NULL;}
    ~BinTree(){}
    node* push(int n)
    {
        if (n)
            return NULL;
        int l = n/2,
            r = n - l - 1,
            data;
        cin >> data;
        node* newroot = new node;
        newroot->L = push(l);
        newroot->inf = data;
        newroot->R = push(r);
        return newroot;
    }
private:
    node* root;
};
 
BinTree T;
 
int main()
{
    int n;
    cin >> n;
    T.push(n);
    return 0;
}
, вот только нерабочего.. newroot->R = push(r); - здесь что-то нето..
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru