NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: Trojúhelník v konzoli

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

Aktivity
Avatar
hurvajs
Člen
Avatar
hurvajs:24.10.2013 15:29

Ahoj, dostal jsem ukol ze školy. Viz kod

#include <stdio.h>
#include <stdlib.h>

int main()
{
        /*pro zadané číslo n postupně vytisknout na obrazovku trojuhelníky,
        které budou mít i+1 řádků a 2*i+1 sloupců. Max. hodnota n = 11,
        udělat testování hodnoty n*/

        int pocet = 11;
        int i, j, k, l = 0;

        if (pocet <= 11) // omezení n!
        {
                for (i=1; i <= pocet; i++)  //počet trojúhleníků
                {



                        for (j = 0; j < i+1; j++)
                        {


                                for (l = j + 1 ; l>j ; l--) //mezery
                                {
                                        printf(" ");



                                }
                                for (k = 0; k < j; k++) //hvezdy
                                {


                                                printf("*");


                                }


                                printf("\n");


                        }
                }



        }

        else
        {
                printf("Zadana hodnota je vetsi nez 11 !!");
        }




        return 0;
}

a výstupem by mělo být toto(nuly mají být mezery...) :D

 *
***

  *
 * *
*****

atd.
Dělá mi problém vymyslet cyklus na odsazení a doplnění mezer do trojúhleníku, jelikož mi to zatím vypisuje toto :

*
**


chtěl bych se zeptat, jestli někdo má nějaký nápad...

Editováno 24.10.2013 15:32
 
Odpovědět
24.10.2013 15:29
Avatar
hurvajs
Člen
Avatar
hurvajs:24.10.2013 15:35

Vystup má vypadat takto

 
Nahoru Odpovědět
24.10.2013 15:35
Avatar
vitamin
Člen
Avatar
vitamin:24.10.2013 17:54
//M= Medzera, X=Krizik

//vrchol
5M 1X 5M        //specialny pripad

//toto sa da spravyt cez cyklus:
4M 1X 1M 1X 4M
3M 1X 3M 1X 3M
2M 1X 5M 1X 2M
1M 1X 7M 1X 1M

//spodok:
11X              //specialny pripad
Editováno 24.10.2013 17:56
 
Nahoru Odpovědět
24.10.2013 17:54
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 3 zpráv z 3.