[ kelimi @ 24.12.2012. 23:44 ] @
Zadatak je :
Nacrtati potpuno binarno drvo visine 3 i u njegove čvorove upisati riječ SUPERPROGRAMERI shodno postorder obilasku.

Kako ovo uraditi?
[ Nedeljko @ 25.12.2012. 09:16 ] @
Može ovako:

Code (cpp):

#include <iostream>
#include <string>

using namespace std;

class Node
{
    Node *left, *right;
    string data;

public:
    Node(const string &data)
    {
        this->data = data;
        left = right = 0;
    }

    Node(const string &data, Node *left, Node *right)
    {
        this->data = data;
        this->left = left;
        this->right = right;
    }

    ~Node()
    {
        delete left;
        delete right;
    }

    friend void write(const Node*, ostream&, size_t);
};

typedef Node *Tree;

void write(const Node *tree, ostream &out, size_t space  = 0)
{
    if (tree == 0) {
        out << endl;

        return;
    }

    write(tree->left, out, space + tree->data.size());
    write(tree->right, out, space + tree->data.size());

    for (size_t i = 0; i < space; ++i) {
        out << " ";
    }

    out << tree->data << endl;
}

ostream& operator<<(ostream &out, const Node *tree)
{
    write(tree, out);

    return out;
}

int main()
{
    string data("SUPERPROGRAMERI");
    Tree tree = new Node(data,
                         new Node(data,
                                  new Node(data),
                                  new Node(data)),
                         new Node(data,
                                  new Node(data),
                                  new Node(data)));

    cout << tree << endl;
    delete tree;

    return 0;
}
 
[ Mihajlo Cvetanović @ 25.12.2012. 09:32 ] @
Fali ti još jedan nivo. Reč ima 15 slova.
[ djoka_l @ 25.12.2012. 09:40 ] @
Citat:
Mihajlo Cvetanović: Fali ti još jedan nivo. Reč ima 15 slova.


Ne treba u svakom nodu da se upiše cela reč, nego samo jedno slovo, tako da prilikom postorder obilaska stabla slova čvorova daju (konkatenirana) zadatu reč.

Code:

          I
    R           R
 P     P    R      E
S U   E R  O G   A  M
[ kelimi @ 25.12.2012. 13:39 ] @
Hvala na odgovorima ali meni interesuje kako to nacrtati na papiru? Da li to moze neko da mi objasni? Pogrijesio sam sto odmah na pocetku nisam to naglasio. Da se zadatkom trazilo da se upise rijec u vec nacrtano stablo to bih znao da uradim.
[ djoka_l @ 25.12.2012. 14:33 ] @
Znaš, programiranje zahteva malo i da se razmišlja.

Evo ti stablo u excel fajlu. Pokušaj da shvatiš zakonitost pojavljivanja elemenata stabla u koordinatnom sistemu, pa onda napiši program. Za sada neću da ti pomognem. U stvari, neću ti dati nikakvu drugu pomoć dok ne vidim da si nešto isprogramirao, makar i pogrešno.