Einfache Kreisberechnung

OP #1051349
Lesenswert?

Hallo ich habe folgenden Code geschrieben um die x und y Werte eines 
Kreises zu berechnen.
Schaue ich mir die Ausgabe vom printf in der Console an, beginnt er mit
x= 4.69 und y=8.83. Ich erwarte aber x=10.00 und y=0.00.

Könnte es vielleicht daran liegen das mir die Konsole nicht alles 
anzeigt, oder so? Denn wenn z.B. nur 100 Werte darstelle beginnt er wie 
gewünscht.

Vielleicht könnt ihr mir weiter helfen. Ich verstehe es nicht.

Vielen Dank schon im vorraus.

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <math.h>

#define PI 3.141592

int main(void)
{
  float x;
  float y;
  float radius=10;
  float a;

  for(a=0;a<361;a++)
  {
    x=cos(a*PI/180)*radius;
    y=sin(a*PI/180)*radius;
    printf(" %.2f  %.2f\n\r",x,y);
  }
  system("PAUSE");
  return 0;
}
Gast #1051390
Lesenswert?

> Könnte es vielleicht daran liegen das mir die Konsole nicht alles anzeigt,
> oder so? Denn wenn z.B. nur 100 Werte darstelle beginnt er wie gewünscht.

Ja. Wie groß ist denn deine Konsole bzw. deren Rückspulpuffer? 300
Zeilen?

Das Programm ist ansonsten ok.
Gast #1051498
Lesenswert?

> Aber sie beschreibt nur ein achtel des Kreises wie fahre ich dann
> weiter vor?

Durch Anwendung einer oder mehrerer der folgenden Modifikationen
erhältst du die Punkte auf den restlichen 7/8 des Kreises:

- x durch -x ersetzen
- y durch -y ersetzen
- x und y vertauschen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren