Revision: 68484
Updated Code
at January 19, 2015 05:20 by ivan_uzarevic
Updated Code
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include "bstablo_polje.h"
//#include "bstablo_pokazivaci.h"
using namespace std;
void ispis (vrijed i) {
cout << (size_t)i << " ***** " << labelB(i,stablo) << " ***** "
<< labelB(parentB(i,stablo),stablo) << "***** " << labelB(leftchildB(i,stablo),stablo)
<< " ***** " << labelB(rightchildB(i,stablo),stablo) << endl;
}
void tablica2 (vrijed tekuci, bstablo *stablo) {
vrijed lijevi, desni;
ispis(tekuci);
lijevi = leftchildB(tekuci,stablo);
desni = rightchildB(tekuci,stablo);
if (lijevi != 0) {
tekuci = lijevi;
tablica2(tekuci,stablo);
}
if (desni != 0) {
tekuci = desni;
tablica2(tekuci,stablo);
}
}
int main() {
int unos, izbor;
int poz;
vrijed dijete;
cout << "INICIJALIZIRAM BINARNO STABLO..." << endl;
cout << "Unesite labelu (poz.cijeli broj) korijena: ";
cin >> unos;
initB (unos, stablo);
cout << "Binarno stablo inicijalizirano!!!" << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
system("cls");
cout << "AUTOMATSKI UNOS 4 CVORA BINARNOGA STABLA" << endl;
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
createleftB (unos, rootB (stablo), stablo);
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
createrightB (unos, rootB (stablo), stablo);
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
dijete = leftchildB (rootB(stablo),stablo);
createleftB (unos, dijete, stablo);
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
createrightB (unos, dijete, stablo);
cout << endl << endl;
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
do {
system("cls");
cout << "**********DODATNI IZBORNIK**********" << endl;
cout << "1. Roditelj cvora" << endl;
cout << "2. Lijevo dijete cvora" << endl;
cout << "3. Desno dijete cvora" << endl;
cout << "4. Promjena oznake cvora" << endl;
cout << "5. Korijen binarnoga stabla" << endl;
cout << "6. Kreiranje lijevog djetete cvora" << endl;
cout << "7. Kreiranje desnog dijeteta cvora" << endl;
cout << "8. Brisanje cvora sa svim potomcima" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "*************************************" << endl;
cout << "Unesite mogucnost: ";
cin >> izbor;
switch (izbor) {
case 1:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Roditelj cvora je cvor sa labelom " << labelB (parentB((vrijed)poz,stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 2:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Lijevo dijete cvora je cvor sa labelom " << labelB (leftchildB((vrijed)poz,stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 3:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Desno dijete cvora je cvor sa labelom " << labelB (rightchildB((vrijed)poz,stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 4:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Unesite novu labelu cvora(poz.cijeli broj): " << endl;
cin >> unos;
changelabelB (unos,(vrijed)poz,stablo);
cout << "Novi cvor ima vrijednost " << labelB ((vrijed)poz,stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 5:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Korijen binarnoga stabla je cvor sa labelom " << labelB (rootB(stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 6:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Unesite labelu(vrijednost) cvora: ";
cin >> unos;
createleftB(unos,(vrijed)poz,stablo);
ispis((vrijed)poz);
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 7:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Unesite labelu(vrijednost) cvora: ";
cin >> unos;
createrightB(unos,(vrijed)poz,stablo);
ispis((vrijed)poz);
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 8:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
deleteB ((vrijed)poz, stablo);
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
}
} while (izbor != 9);
return 0;
}
Revision: 68483
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2015 05:18 by ivan_uzarevic
Initial Code
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include "bstablo_polje.h"
//#include "bstablo_pokazivaci.h"
using namespace std;
void ispis (vrijed i) {
cout << (size_t)i << " ***** " << labelB(i,stablo) << " ***** "
<< labelB(parentB(i,stablo),stablo) << "***** " << labelB(leftchildB(i,stablo),stablo)
<< " ***** " << labelB(rightchildB(i,stablo),stablo) << endl;
}
void tablica2 (vrijed tekuci, bstablo *stablo) {
vrijed lijevi, desni;
ispis(tekuci);
lijevi = leftchildB(tekuci,stablo);
desni = rightchildB(tekuci,stablo);
if (lijevi != 0) {
tekuci = lijevi;
tablica2(tekuci,stablo);
}
if (desni != 0) {
tekuci = desni;
tablica2(tekuci,stablo);
}
}
int main() {
int unos, izbor;
int poz;
vrijed dijete;
cout << "INICIJALIZIRAM BINARNO STABLO..." << endl;
cout << "Unesite labelu (poz.cijeli broj) korijena: ";
cin >> unos;
initB (unos, stablo);
cout << "Binarno stablo inicijalizirano!!!" << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
system("cls");
cout << "AUTOMATSKI UNOS 4 CVORA BINARNOGA STABLA" << endl;
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
createleftB (unos, rootB (stablo), stablo);
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
createrightB (unos, rootB (stablo), stablo);
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
dijete = leftchildB (rootB(stablo),stablo);
createleftB (unos, dijete, stablo);
cout << "Unesite pozitivni cijeli broj(labela): ";
cin >> unos;
createrightB (unos, dijete, stablo);
cout << endl << endl;
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
do {
system("cls");
cout << "**********DODATNI IZBORNIK**********" << endl;
cout << "1. Roditelj cvora" << endl;
cout << "2. Lijevo dijete cvora" << endl;
cout << "3. Desno dijete cvora" << endl;
cout << "4. Promjena oznake cvora" << endl;
cout << "5. Korijen binarnoga stabla" << endl;
cout << "6. Kreiranje lijevog djetete cvora" << endl;
cout << "7. Kreiranje desnog dijeteta cvora" << endl;
cout << "8. Brisanje cvora sa svim potomcima" << endl;
cout << "9. Izlaz iz programa" << endl;
cout << "*************************************" << endl;
cout << "Unesite mogucnost: ";
cin >> izbor;
switch (izbor) {
case 1:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Roditelj cvora je cvor sa labelom " << labelB (parentB((vrijed)poz,stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 2:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Lijevo dijete cvora je cvor sa labelom " << labelB (leftchildB((vrijed)poz,stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 3:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Desno dijete cvora je cvor sa labelom " << labelB (rightchildB((vrijed)poz,stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 4:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Unesite novu labelu cvora(poz.cijeli broj): " << endl;
cin >> unos;
changelabelB (unos,(vrijed)poz,stablo);
cout << "Novi cvor ima vrijednost " << labelB ((vrijed)poz,stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 5:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Korijen binarnoga stabla je cvor sa labelom " << labelB (rootB(stablo),stablo) << endl;
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 6:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Unesite labelu(vrijednost) cvora: ";
cin >> unos;
createleftB(unos,(vrijed)poz,stablo);
ispis(poz);
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 7:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
cout << "Unesite labelu(vrijednost) cvora: ";
cin >> unos;
createrightB(unos,(vrijed)poz,stablo);
ispis(poz);
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
case 8:
tablica2 (rootB (stablo),stablo);
cout << endl;
cout << "Unesite poziciju cvora" << endl;
cin >> poz;
deleteB ((vrijed)poz, stablo);
cout << "ENTER ZA NASTAVAK" << endl;
getch();
break;
}
} while (izbor != 9);
return 0;
}
Initial URL
Initial Description
Glavni program koji služi za izvedbu binarnoga stabla te rad sa funkcijama binarnoga stabla.
Initial Title
bstablo_glavni.cpp
Initial Tags
data, array, c++
Initial Language
C++