Prosze o pomoc!
Mam do napisania program w jezyku C ++.
Trojkat sierpinskiego o wymiarze 24 cm.
Blagam pomozcie jak najszybciej.
Dolanczam rysunek, troche nie za bardzo, ale mam nadzieje, ze wiadomo o co chodzi.
Jak najszybciej do dzisiaj do godziny 21:00.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Link do kodu: http://ideone.com/bPD1f
(pod Windowsem należy włączyć makro `#define WINDOWS`, dzięki któremu zmieniane są wymiary konsoli).
Wymiary "obrazu" wyjściowego można zmieniać za pomocą makr `WIDTH` oraz `HEIGHT`.
Kod:
#define WINDOWS
#include <stdio.h>
#ifdef WINDOWS
#include <windows.h>
#endif
#define WIDTH 100
#define HEIGHT 50
#ifdef WINDOWS
void set_size(int width, int height)
{
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
COORD c;
SMALL_RECT sr;
c.X = width;
c.Y = height;
sr.Top = 0;
sr.Left = 0;
sr.Right = width-1;
sr.Bottom = height-1;
SetConsoleScreenBufferSize(h, c);
SetConsoleWindowInfo(h, TRUE, &sr);
}
#endif
int main()
{
#ifdef WINDOWS
set_size(120, 55);
#endif
bool tab[WIDTH*2][HEIGHT*2]; // UWAGA! Tworzone na stosie, więc radziłbym nie przesadzać z wymiarami tablicy...
for (int n=0; n<WIDTH*2; n++)
for (int k=0; k<HEIGHT*2; k++)
tab[n][k] = false;
for (int n=0; n<WIDTH; n++)
for (int k=0; k<HEIGHT-n; k++)
if ((n&k) == 0)
tab[(WIDTH/2)+(n-k)][n+k] = true;
for (int n=0; n<HEIGHT; n++)
{
for (int k=0; k<WIDTH; k++)
printf( tab[k][n]?"*":" " );
printf("\n");
}
}