====== 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