• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rysowanie figur C++

Object Storage Arubacloud
0 głosów
12,963 wizyt
pytanie zadane 15 lutego 2017 w C i C++ przez Lahimowicz Początkujący (300 p.)
edycja 15 lutego 2017 przez Lahimowicz
X
XX
XXX
XXXX
XXXXX
XXXXXX
XXXXXXX

              X
            XX
          XXX
        XXXX
      XXXXX
   XXXXXX
XXXXXXX

               X
             XX
           X   X
         X     X
       X       X
     X         X
   XXXXXXX



XXXXXXXXXXX
X                     X
X                     X 
X                     X
X                     X
X                     X
X                     X
X                    X  
XXXXXXXXXXX




XXX
XXX
XXX
XXX
XXX
XXXXXXX
XXXXXXX
XXXXXXX

Cześć. Mam problem ponieważ nie do końca rozumiem jak powstają takie figury. Niby rozwiązania w google znalazłem ale czy mógłby ktoś mi wytłumaczyć jak powstają takie np figury:                                     
 

Będę wdzięczny jeżeli ktoś napisze mi programy na te figury. Chyba że ktoś woli dokładnie wytłumaczyć jak to należy zrobić dlaczego tak lub tak.

Dzięki ;)

komentarz 15 lutego 2017 przez Lahimowicz Początkujący (300 p.)
Fajne że rozwaliło figury. W każdym razie chodzi mi o kwadrat bez środka o trójkąt pełny i pusty od lewej lub od prawej itp.
komentarz 15 lutego 2017 przez mbabane Szeryf (79,280 p.)
moze zrob screena i wklej (ewentualnie wstaw te figury w blok kodu, moze sie nie rozjada)
komentarz 15 lutego 2017 przez Lahimowicz Początkujący (300 p.)
tak czy siak rozwala te figury. Mniejsza o to. Chodzi o normalne piramidy trójkąty prostokąty pełne puste itp.

1 odpowiedź

0 głosów
odpowiedź 15 lutego 2017 przez degrek Bywalec (2,380 p.)

Zamieszczam kod wraz z komentarzami, spróbuj w ramach ćwiczeń zrobić trójkąt ale np do góry nogami.

#include <iostream>
using namespace std;

void drawFullSquare(int height);
void drawEmptySquare(int height);
void drawEmptyTriangle(int height);
void drawFullTriangle(int height);

int main()
{
    drawFullSquare(5);
    drawEmptySquare(6);
    drawFullTriangle(7);
    drawEmptyTriangle(8);
}

void drawFullSquare(int height)
{
    cout << "\nFull Square:\n";
    for(int i = 0; i < height; i++)             //ta petla odpowiada za rysowanie wierszy czyli ile dokaldnie ich ma byc
    {
        for(int j = 0; j < height; j++)        // z kolei taodpowiada za rysowanie kolumn czyli ile "X" ma byc w wierszu
        {
            cout << "X";                       //wypisujemy X
        }
        cout << endl;                          //po jednym obiegu głównej petli wukonujmey przeskok do nastepnej lini
    }
}

void drawEmptySquare(int height)
{
    cout << "\nEmpty Square:\n";
    for(int i = 0; i < height; i++)
    {
        for(int j = 0; j < height; j++)                 
        {                                                              //waruenk if okresla kiey rysujemy linie, mianowicie sa to krance figury
            if(i == 0 || i == height-1 || j == 0 || j == height-1)     //czyli nasz poczatek petli i jej koniec bo wtedy rysujemy elemnety  
                cout << "X";                                           //lezace na pierwszej i ostaniej pozycji       
            else
                cout << " ";
        }
        cout << endl;
    }
}

void drawFullTriangle(int height)
{
    cout << "\nFull Triangle:\n";
    for(int i = 0; i < height; i++)
    {
        for(int j = 0; j <= i; j++)           // musimy wyznaczyc przekatna, jak zauwazyc jest ona wtedy kiedy i == j; ponizej rysunek
        {
                cout << "X";
        }
        cout << endl;
    }
}

/*
00 01 02 03 04 ...
10 11 12 13 14 ...
20 21 22 23 23 ...
30 31 32 33 34 ...
40 41 42 43 44 ...
pierwsza liczba to nasza  zmienna "i" druga "j"
*/

void drawEmptyTriangle(int height)
{
    cout << "\nEmpty Triangle:\n";
    for(int i = 0; i < height; i++)
    {
        for(int j = 0; j < height; j++)
        {
            if(j==0 || i == height-1 || i == j)     //analogicznie :D
                cout << "X";
            else
                cout << " ";
        }
        cout << endl;
    }
}

 

Podobne pytania

0 głosów
2 odpowiedzi 268 wizyt
pytanie zadane 28 maja 2017 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
2 odpowiedzi 3,104 wizyt
pytanie zadane 19 stycznia 2017 w C# przez kondzio11 Nowicjusz (160 p.)
0 głosów
1 odpowiedź 1,691 wizyt
pytanie zadane 26 listopada 2016 w C# przez pclolowicz Użytkownik (500 p.)

92,555 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,941 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...