Ahojte, pls je toto dynamicke programovanie zhora nadol alebo metoda rozdeluj a panuj? ja to skor vidim na dynamicke,Za kazdu odpoved budem vdacna
public class SierTroj extends JComponent{
private final int velkost;
private final int[][] pole;
private final int n;
public SierTroj(int n) {
setBounds(10, 50, 512, 512);
this.n = n;
this.velkost = (int) Math.pow(2, this.n);
this.pole = new int [velkost][velkost];
}
public void inicializuj(){
for(int i = 0; i < velkost; i++){
for (int j = 0; j < velkost; j++){
if (i == 0 | j == 0){
pole [i][j] = 1;
}
}
}
for(int i = 1; i < velkost; i++){
for (int j = 1; j < velkost; j++){
if (pole [i-1][j] == pole [i][j-1]){
pole [i][j] = 0;
}else{
pole [i][j] = 1;
}
}
}
}
@Override
protected void paintComponent(Graphics g) {
g.setColor(Color.white);
g.fillRect(0, 0, getWidth(), getHeight());
for(int i = 0; i < velkost; i++){
for(int j = 0; j < velkost; j++){
if(pole[i][j] == 1){
g.setColor(Color.BLUE);
if(n > 7){
g.fillRect(i*1, j*1, 1, 1);
}else if(n > 5){
g.fillRect(i*4, j*4, 4, 4);
}else {
g.fillRect(i*10, j*10, 10, 10);
}
}
}
}
}
}