Dies ist eine alte Version des Dokuments!


Kreise in der Konsole ausgeben

Theorie

Kreise sind mathematisch beschrieben durch:

r^2 = x^2 + y^2

Dabei steht r für den Radius, x und y stehen für die x/y-Koordinaten. Stellt man die Formel um erhält man entweder:

y = sqrt{r^2 - x^2} oder x = sqrt{r^2 - y^2}

Aufgabe

Schreiben Sie eine Funktion, die Kreise (komplett) berechnet und in der Konsole ausgibt (z.B. durch das Zeichen „+“ und einen printf-Ruf). Sie dürfen dabei folgende Funktion für die Ausgabe eines „+“ an der gewünschten Stelle verwenden:

myprint.c
void myprint (int x, int y)
{
    printf("\x1B[%i;%iH", y, x);
    putchar('+');
}

Denken Sie daran, dass Zeichen in der Konsole als Rechteck dargestellt werden (dh. Ihr Kreis wird eventuell ein Oval und kein Kreis). Es sollten bei Ihrer Implementation dennoch keine Lücken entstehen.

Eine mögliche Lösung