NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: programování v C - trojúhelník

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

Aktivity
Avatar
Peta
Člen
Avatar
Peta:21.10.2015 22:54

Ahoj, nevíte někdo jak napsat program, aby trojúhelník nebyl vyplněný, ale byl tam jen jeho obvod?

#include <stdio.h>
#include<stdlib.h>
int main()
{
        int a, b, r;
        printf("Zadejte velikost: ");
        scanf_s("%d", &r);
        for (a = 1; a <= r; ++a)
        {
                for (b = 1; b <= a; ++b)
                {
                        printf(" * ");
                }

                printf("\n");
        }
        return 0;
}
 
Odpovědět
21.10.2015 22:54
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Peta
Martin Dráb:21.10.2015 22:59

Co něco na tento způsob? Prostě piš hvězdičky jenom na krajích (což odpovídá krajním případům v cyklech).

#include <stdio.h>
#include<stdlib.h>
int main()
{
        int a, b, r;
        printf("Zadejte velikost: ");
        scanf_s("%d", &r);
        for (a = 1; a < r; ++a)
        {
                printf(" * ");
                for (b = 2; b < a; ++b)
                        printf("   ");

                printf(" * \n");
        }

         for (b = 1; b <= r; ++b)
             printf(" * ");

        return 0;
}
Nahoru Odpovědět
21.10.2015 22:59
2 + 2 = 5 for extremely large values of 2
Avatar
Peta
Člen
Avatar
Odpovídá na Martin Dráb
Peta:21.10.2015 23:08

Mělo by to vypadat nějak takhle např. pro číslo 4

*
**
* *
****
 
Nahoru Odpovědět
21.10.2015 23:08
Avatar
Jozef
Člen
Avatar
Odpovídá na Peta
Jozef:21.10.2015 23:20

Niečo takéto?

#include <stdio.h>
#include<stdlib.h>
int main()
{
        int a, b, r;
        printf("Zadejte velikost: ");
        scanf_s("%d", &r);
        for (a = 1; a <= r; ++a)
        {
                for (b = 1; b < a; ++b)
                {
                    if(b == 1 || b == a - 1)
                        printf("*");
                    else
                        printf(" ");

                }
                printf("\n");
        }
        for(b = 1; b <= r; b++)
                    printf("*");
        return 0;
}
Editováno 21.10.2015 23:21
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
21.10.2015 23:20
I'm not afraid to die on a treadmill
Avatar
Peta
Člen
Avatar
Odpovídá na Jozef
Peta:21.10.2015 23:26

Myslím, že ano. Děkuji za pomoc.

 
Nahoru Odpovědět
21.10.2015 23:26
Avatar
Jozef
Člen
Avatar
Odpovídá na Peta
Jozef:21.10.2015 23:29

Nie je zač.

Nahoru Odpovědět
21.10.2015 23:29
I'm not afraid to die on a treadmill
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 6 zpráv z 6.