Buduję drzewo decyzyjne przy pomocy weki i potem chcę wypisać wszystkie reguły z tego drzewa(w formie tekstowej na niebiesko drugi screen) i przy sklejaniu reguł 3 pierwsze reguły uzupełnione są ładnie a od czwartej albo pomijane są wartości albo przepisywane te których być nie powinno. Tam gdzie jest na zielono powinno skopiować a tego nie zrobiło, na czerwono skopiowało się ładnie. A z kolei tego na niebiesko nie powinno skopiować.
![Zrzut ekranu z 2016-01-23 1620.png](//static.4programmers.net/uploads/attachment/Zrzut ekranu z 2016-01-23 1620.png)

![Zrzut ekranu z 2016-01-23 1602.png](//static.4programmers.net/uploads/attachment/Zrzut ekranu z 2016-01-23 1602.png)

Kod, który ma to robić:

if (li - 1 >= 0) {//&& numOfMark.get(li - 1) >= numOfMark.get(li - 2)) {
                        int temp1 = li - 1;
                        int temp2 = li - 2;
                        if (numOfMark.get(temp1) >= numOfMark.get(temp2)) {
                            for (int i = 0; i < seqAtributePrew.length; i++) {
                                if (seqAtributePrew[i] <= numOfMark.get(li - 1)
                                        && seqAtributePrew[i] != 0 && row + 1 < rules.length) {
                                    rules[row + 1][i] = rules[row][i];
                                    seqAtrib.add(atributes[i]);
                                    seqAtribute[i] = seqAtributePrew[i];
                                    sequence++;
                                }
                            }
                        }

numOfMark - lista z ilością pionowych kresek w linii drzewa
seqAtributePrew - kolejność wstawiania wartości atrybutów
rules - tablica przechowująca reguły (każdy wiersz pojedyncza reguła)
atributes - tablica z atrybutami
seqAtrib - lista kolejno wprowadzonych atrybutów (ich nazwy)
seqAtributePrew - tablica z wartościami atrybutów poprzedniej reguły
seqAtribute - tablica z wartościami atrybutów bieżącej reguły
sequence - kolejność wprowadzania wartości tutaj nie potrzebne