IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Trojuhelnik z cisel, java

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
josef klouda
Člen
Avatar
josef klouda:18.2.2022 21:54
public void createTriangle2dArray(){

       int[][] multi = {{1,2,3,4},
                                {5,6,7,8},
                                {9,10,11,12},
                                {13,14,15,16}};

        int[][]triangle = new int [16][];                      //  myslim, vytvori 16 radku

        for(int row=0; row<triangle.length; row++){
            triangle[row] = new int[row+1];              //   ??  ze by toto vytvorilo dalsi radek
            for(int i=0; i< (row+1); i++){                   //   ??
                triangle[row][i] = i;                             //   ??
            }
        }

        print2DIntArray(triangle);
    }

    public void print2DIntArray(int [][]multi){
        for(int[] outer : multi){
            if(outer==null){                        //  ??
                System.out.print("null");     //  ??
            }else{
                for(int inner : outer){                    // ??
                    System.out.print(inner + ",");   //  ??
                }
            }
            System.out.println("");
        }
    }

Zkusil jsem: Kdyby mi prosim do komentaru s otaznikem u kodu nekdo dopsal strucne, co ma dany radek za vyznam, co dela. Pomuze mi to myslim nejvic. Dekuju mnohokrat

Chci docílit: Pochopit utrzky kodu

 
Odpovědět
18.2.2022 21:54
Avatar
DarkCoder
Člen
Avatar
Odpovídá na josef klouda
DarkCoder:18.2.2022 22:41

Podoba trojúhelníku bude vždy známa, bude-li známa jeho velikost (počet řádek). Je tedy zbytečné si jej ukládat do 2D pole. Trojúhelník lze tedy rovnou vygenerovat. Funkce bude následovná a pochopení její činnosti je triviální.

void printTriangle(int size) {
        for (int i = 0; i < size; i++) {
                for (int j = 0; j <= i; j++) printf("%d", j);
                putchar('\n');
        }
}
Nahoru Odpovědět
18.2.2022 22:41
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Odpovídá na josef klouda
Zdeněk Dvorský:21.3.2022 8:11
public void createTriangle2dArray(){

       int[][] multi = {{1,2,3,4},
                                {5,6,7,8},
                                {9,10,11,12},
                                {13,14,15,16}};         //vytvoření a inicializace 2D pole "multi"

        int[][]triangle = new int [16][];               //vytvoření a inicializace 2D pole "triangle"

        for(int row=0; row<triangle.length; row++){     //procházení 2D pole po řádcích
            triangle[row] = new int[row+1];             //do řádku vloží nové jednorozmerné pole velikosti vždy o jedno větší než je row v daném kroku
            for(int i=0; i< (row+1); i++){              //prochází sloupce jednorozměrného pole
                triangle[row][i] = i;                   //vloží do 2D pole [radek][sloupec] => [0][0] = 0, [1][0] = 0, [1][1] = 1, [2][0] = 0, [2][1] = 1, [2][2] = 2 ...
            }
        }

        print2DIntArray(triangle);
    }

    public void print2DIntArray(int [][]multi){         //metoda příjmajíci parametr 2D pole
        for(int[] outer : multi){                       //cyklus k procházení 2D pole -> do proměnné "outer" se postupně nasává hodnota z 2D pole
            if(outer==null){                            //jestliže nasáta hodnota je nulová
                System.out.print("null");               //vytiskne null
            }else{                                      // v opačném případě
                for(int inner : outer){                 //cyklus prochází jednorozměrné pole "outer" a do proměnné "inner" postupně nasává hodnotu
                    System.out.print(inner + ",");      //vytiskne se nasáta hodnota do proměnné "inner" oddělená čárkou
                }
            }
            System.out.println("");                     //odřádkováni
        }
    }
 
Nahoru Odpovědět
21.3.2022 8:11
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:22.3.2022 15:35

programujte.com/fo­rum/vlakno/194517-trojuhelnik-z-cisel-z-pole/

 
Nahoru Odpovědět
22.3.2022 15:35
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 4 zpráv z 4.