Mam problem. Do wykonania mam pełne drzewo binarne. Zadanie polega na tym, bo najpierw wpisać losowe cyfry do kopca max, a następnie wskazać, które cyfry/liczby nie spełniają jego właściwości. Kopiec narysowany mam (mały, bo mały, ale zawsze). Jednak tutaj pojawia się problem - jeśli dodałabym do kopca jakikolwiek inny znak, jego kształt by się posypał, więc postanowiłam błędne cyfry pokolorować - tylko nie wiem jak...
ale o co chodzi..
- Rysowany jest kopiec
- Program chodzi po kopcu i sprawdza warunek (ojciec >= syn)
- Program koloruje liczby niespełniające warunku.
Nie wiem jak je kolorować.
gdzie ten program, w jakiej technologii, to jakieś ui, czy co, że chcesz kolorować? serio nie mam pojęcia o co chodzi, może ktoś inny
To jest C++
main
#include <cstdlib>
#include <iostream>
#include <ctime>
#include "functions.h"
using namespace std;
int main(int argc, char *argv[])
{
int i, b;
int n = 4;
int a = 15;
int tablica[a];
srand( time( NULL ) );
for(i=1; i<=a; i++)
{
tablica[i]=(rand() % 9) + 1;
cout<<i+1<<": "<<tablica[i]<<endl;
}
cout<<endl<<"wyswietlanie: "<<endl;
wyswietl(tablica);
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
plik .h
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
#include <cstdlib>
#include <iostream>
using namespace std;
int Left (int i);
int Right (int i);
int Parent (int i);
void wyswietl(int tablica[]);
#endif
plik .cpp
#include "functions.h"
#include <cstdlib>
#include <iostream>
using namespace std;
int Left (int i)
{
return (2*i);
}
int Right (int i)
{
return ((2*i)+1);
}
int Parent (int i)
{
return i/2;
}
void wyswietl(int tablica[])
{
int L, R, P, i;
int N = 15;
int x, k, j;
x = (N + 1) / 2; k = 2;
for(i = 1; i <= N; i++)
{
for(j = 1; j <= x - 1; j++) cout << " ";
cout << tablica[i];
for(j = 1; j <= x; j++) cout << " ";
if(i + 1 == k)
{
k += k; x /= 2; cout << endl;
}
}
for(i=1; i<= N; i++)
{
L=Left(i);
R=Right(i);
P=Parent(i);
}
}
ja nie wiem czy to w ogóle przypomina binary tree, popatrz np. tutaj, poczytaj z czego sie składa itd itd itd
http://www.cprogramming.com/tutorial/lesson18.html
Tak, to przypomina binary tree... Tylko, że elementy nie są w nim ustawione tak, jak w kopcu max i dlatego mam je zaznaczyć...
Możesz w programie wygenerować schemat diagramu dla Graphviz - będzie wyglądało bardziej Pro przy małym nakładzie pracy.
Przykład jak to zrobić:
https://devjeetr.wordpress.com/2012/04/30/visualising-a-binary-search-tree-using-graphviz/
Nie mogę zrobić tego programem. Potrzebuję to napisać w C++.