Help!



  • Soll ein Programm schreiben, dass die Sinusfunktion in 10 Grad Schritten bis
    180 Grad anzeigt, inkl. Amplitude!
    In C! Wie gehe ich am besten vor?

    Gruessle

    Harald



  • Du berechnest die Werte und gibst sie dann aus oder du berechnest ein Wert und gibt diesen gleich aus und berechnest dann den nächsten Wert. Viel Erfolg!



  • Hier der Code für C++, viel Spaß.
    Musst halt noch Ausgabe und so an C anpassen.

    #include <cmath>
    #include <iostream>
    int main(int argc, char** argv)
    {
      std::cout << "\tWinkel\tSinus" << std::endl;
      for(int i=0; i <= 10; i++ ) {
        double degree = i * 18; // Winkel in Grad berechnen
        double radian = (PI * degree)/180; // In Bogenmaß umrechnen
        // Ausgabe, hier halt in Tabellenform
        std::cout << "\t" << degree << "\t" << std::sin(radian) << std::endl;
      }
      return 0;
    }
    

    mfg branleb



  • Danke :-)! Werde mich DURCHSCHLAGEN.......!!!!

    Gruessle

    Harald



  • branleb schrieb:

    ...double degree = i * 18; // Winkel in Grad berechnen

    😕



  • 180/10 = 18
    und er will ja 10 Schritte und 180 Grad

    mfg branleb



  • Schematisches Beispiel in C:

    #include <stdio.h>
    #define PI (3.14159265358979323846)
    
    double mysin(double);
    
    int main (int ac, char **av)
    {
        for (int angle = 0; angle <= 180; angle += 10)
            printf("sin(%d) -> %1.5f\n", angle, mysin(angle * PI / 180));
    
        return 0;
    }
    

    Bei Tabellen von Temperatur-Umrechnungen oder Winkelfunktionen lernt man eigentlich kaum etwas.
    Deshalb ohne man: math.h:

    #define EPSILON (0.00001)
    
    double cube(double x) { return x * x * x; }
    
    double mysin(double angle)
    {
        if (fabs(angle) < EPSILON)
            return angle;
        else
            return 3 * mysin(angle / 3) - 4 * cube(mysin(angle / 3));
    }
    

    Zum Grübeln. 🙂
    In der Praxis wäre math.h schneller und speicherschonender.


Anmelden zum Antworten