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;
}
}