====== Mögliche Lösung zum Kreis ausgeben ======
Die Aufgabenstellung finden Sie [[training:circle:start|hier]]
// Programm für Linux! benutzt ANSI Escape Sequenzen.
// Jede Konsole, die sich an den POSIX-Standard hält kann den Kreis "ordentlich" anzeigen.
#include
#include
#include
// SKALIERUNG DES EINHEITSKREISES!!!!
#define RADIUS 10
int main ()
{
// x*x + y*y = r*r
// <=> y=sqrt(r*r-x*x)
// clear screen
printf ("\x1B[2J");
for (double x=0; x<=RADIUS; x++)
{
double y=sqrt ( (RADIUS*RADIUS) - (x*x) );
printf ("\x1B[%i;%iH", (int) y+11, (int) x+11);
putchar ('+');
printf ("\x1B[%i;%iH", (int) -y+11, (int) x+11);
putchar ('+');
printf ("\x1B[%i;%iH", (int) -y+11, (int) -x+11);
putchar ('+');
printf ("\x1B[%i;%iH", (int) y+11, (int) -x+11);
putchar ('+');
}
for (double y=0; y<=RADIUS; y++)
{
double x=sqrt ( (RADIUS*RADIUS) - (y*y) );
printf ("\x1B[%i;%iH", (int) y+11, (int) x+11);
putchar ('+');
printf ("\x1B[%i;%iH", (int) -y+11, (int) x+11);
putchar ('+');
printf ("\x1B[%i;%iH", (int) -y+11, (int) -x+11);
putchar ('+');
printf ("\x1B[%i;%iH", (int) y+11, (int) -x+11);
putchar ('+');
}
printf ("\x1B[%i;%iH", (int) RADIUS*2+2, (int) 0);
return 0;
}
Übersetzung mit (//-lm// um die Mathebibliothek ins Programm zu linken):
gcc circle.c -lm