#include using namespace std; const int N = 8; char Mrizka[N][N]; void SmazMrizku(void); void Hvezda(const int, const int); void VytiskniMrizku(void); void SmazMrizku() { for(int i = 0; i < N; i++) for(int j = 0; j < N; j++) Mrizka[i][j] = ' '; } void Hvezda(const int Radek, const int Stloupec) { if (0 <= Radek && Radek < N && 0 <= Stloupec && Stloupec < N) Mrizka[Radek][Stloupec] = '*'; else printf("Souradnice mimo meze!\n"); } void VytiskniMrizku() { for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) cout << Mrizka[i][j]; cout << endl; } cout << endl; } int main() { int median = N / 2; bool strana = true, orientacia = true; /* Obrazec cislo 1 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(i,i); // diagonala Hvezda(i,median); // zvisly riadok * Hvezda(i,N-i-1); // opacna diagonala Hvezda(median,i); // vodorovny riadok * } VytiskniMrizku(); /* Obrazec cislo 2 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(0,i); // vodorovny riadok prvy Hvezda(i,0); // horizontalny riadok Hvezda(i,median); Hvezda(median,i); Hvezda(i,N-1); Hvezda(N-1,i); // vodorovny riadok posledny } VytiskniMrizku(); /* Obrazec cislo 3 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(0,i); // prvy vodorovny riadok Hvezda(i,0); // prvy zvisly riadok Hvezda(i,i); // diagonala Hvezda(i,N-i-1); // opacna diagonala Hvezda(i,N-1); // posledny zvisly riadok Hvezda(N-1,i); // posledny vodorovny riadok } VytiskniMrizku(); /* Obrazec cislo 4 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(0,i); // vo dorovná horní Hvezda(i,N-1-i); // diagonála Hvezda(N-1,i); // vodorovná spodní } VytiskniMrizku(); /* Obrazec cislo 5 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(0,i); Hvezda(i,i); Hvezda(N-1,i); } VytiskniMrizku(); /* Obrazec cislo 6 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(i,0); Hvezda(i,i); Hvezda(i,N-1); } VytiskniMrizku(); /* Obrazec cislo 7 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(i,0); Hvezda(i,N-i-1); Hvezda(i,N-1); } VytiskniMrizku(); /* Obrazec cislo 8 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(0,i); Hvezda(i,0); if (i % 2 == 0) { for(int j = 0; j < N; j++) { Hvezda(i,j); Hvezda(j,i); } } } VytiskniMrizku(); /* Obrazec cislo 9 */ SmazMrizku(); for(int i = 0; i < N; i++) { Hvezda(N/3, i); Hvezda(i, N/3); Hvezda(i, (2*N)/3); Hvezda((2*N)/3, i); } VytiskniMrizku(); /* Obrazec cislo 10 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i % 2 == 0) { for(int j = 0; j < N; j++) Hvezda(i,j); } else { if (strana) { Hvezda(i,N-1); strana = false; } else { Hvezda(i,0); strana = true; } } } VytiskniMrizku(); /* Obrazec cislo 11 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i % 2 == 0) { for(int j = 0; j < N; j++) Hvezda(j,i); } else { if (orientacia) { Hvezda(N-1,i); orientacia = false; } else { Hvezda(0,i); orientacia = true; } } } VytiskniMrizku(); /* Obrazec cislo 12 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i % 2 == 0) { for(int j = 0; j < N; j++) if (j % 2 != 0) Hvezda(i,j); } else { for(int k = 0; k < N; k++) if (k % 2 == 0) Hvezda(i,k); } } VytiskniMrizku(); /* Obrazec cislo 13 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i < median) { Hvezda(0,i); Hvezda(i,0); Hvezda(i,median-1); Hvezda(median-1,i); } else { Hvezda(i,N-1); Hvezda(median,i); Hvezda(i,median); Hvezda(N-1,i); } } VytiskniMrizku(); /* Obrazec cislo 14 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i < median) for(int j = 0; j < median; j++) Hvezda(median+i,j); else for(int j = median; j < N; j++) Hvezda(i-median,j); } VytiskniMrizku(); /* Obrazec cislo 15 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i < median) { Hvezda(i, median-i-1); Hvezda(i, median+i); } else if (i >= median) { Hvezda(i, i-median); Hvezda(i, (N+median-1)-i); } } VytiskniMrizku(); /* Obrazec cislo 16 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i < median) { for(int j = median-i-1; j <= median+i; j++) Hvezda(i,j); } else { for(int j = i-median; j < N+median-i; j++) Hvezda(i,j); } } VytiskniMrizku(); /* Obrazec cislo 17 */ SmazMrizku(); for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) if ((i+j) % 3 == 0) Hvezda(i,j); } VytiskniMrizku(); /* Obrazec cislo 18 - by Pavel Puček */ SmazMrizku(); int x = 1; for (int i = 0, j = 0; i < N; i++, j += x) { for (int k = j; k < N; k += 3) Hvezda(i, k); if (i % 3 == 0 && i > 0) x *= -1; } VytiskniMrizku(); /* Obrazec cislo 19 */ SmazMrizku(); for(int i = 0; i < N; i++) { if (i < median) { for(int j = i; j < N-i; j++) Hvezda(i,j); } else { for(int j = N-i-1; j <= i; j++) Hvezda(i,j); } } VytiskniMrizku(); /* Obrazec cislo 20 */ SmazMrizku(); int pocCtvercov = N / 4, tmp = 0, poc = 0; int plus = 0; bool zaciatok = true; for(int i = 0; i < N; i++) { tmp = 0; poc = 0; if (plus == 0 || plus == 1) { while (poc != pocCtvercov) { for(int j = tmp; j < tmp+2; j++) Hvezda(i, j); tmp += 4; poc++; } plus++; } else if (plus == 2) { tmp = 2; while (poc != pocCtvercov) { for(int j = tmp; j < tmp+2; j++) Hvezda(i, j); tmp += 4; poc++; } plus++; } else if (plus == 3) { tmp = 2; while (poc != pocCtvercov) { for(int j = tmp; j < tmp+2; j++) Hvezda(i, j); tmp += 4; poc++; } plus = 0; } } VytiskniMrizku(); system("PAUSE"); return 0; }