Sono un frignone incapace!
Mi son messo e non riesco a stampare l'albero che voglio.
Genero i nodi a caso e poi vorrei avere l'albero completo ma non riesco con le variabili bool che dicono se è a sinistra o destra.
al livello 2^1 dovrei avere S=0 e D=1
al livello 2^2 quindi i rami 00, 01, 10, 11
al livello 2^3 avrò 000, 001, 010, 011, 100, 101, 110, 111 e così via.
Vedo un pattern che non riesco a programmare
In questo caso non voglio i rami casuali ma solo i nodi e poi strutturare l'albero completo. L'idea non mi sembra malaccio.
- Codice:
#include <fstream>
#include <stdlib.h>
#include <time.h>
#include <vector>
using namespace std;
int
main (void)
{
vector < int >v (15); //albero da 15 nodi
int r = rand () % 21 + 1;
ofstream out ("file.txt");
srand (time (NULL));
v[0] = r;
out << "(" << r << ",) "; //radice
bool ripeti = false;
for (int i = 0; i < 15; i++)
{
r = rand () % 21 + 1;
for (int c = 0; c < i; c++)
{
if (v[c] == r)
{
ripeti = true;
c = i;
}
}
if (ripeti == true)
i = i - 1;
else
{
v[i] = r;
}
ripeti = false;
}
string S = "S";
string D = "D";
int k = 1;
string s1 = "";
string d1 = "";
bool primo = true;
bool dividi = false;
for (int u = 0; u < 14; u++)
{
//qui devo stampare e dare sinistra o destra ai nodi ma mi incasino
}
out << "()" << endl;
return 0;
}