NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:
Avatar
ivakmetova
Člen
Avatar
ivakmetova:2.12.2014 11:18

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 [j][i] = 0;
}else{

pole [i][j] = 1;
}
}
}
}

@Override
protected void paintComponen­t(Graphics g) {

g.setColor(Co­lor.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(Co­lor.BLUE);

if(n > 7){
g.filRect(i*1, j*1, 1, 1);
}else if(n > 5){
g.filRect(i*4, j*4, 4, 4);
}else {
g.filRect(i*10, j*10, 10, 10);
}

 
Odpovědět
2.12.2014 11:18
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.