Apfelmännchenprgramm. c



  • Hey Leute
    ich muss für mein Studium ein C Programm schrieben, dass das Apfelmännchen (Mandelbrot) Programm ausgibt.

    Habe schon einen großen Teil des Programm testes geschrieben aber komme einfach nicht mehr weiter.

    Hier kurz die Aufgabenstellung: http://www-ai.math.uni-wuppertal.de/~arndt/de/Lehre/WS_2015--sl2016/Einf--uehrung_in_die_Informatik_und_Programmierung/UeBlatt07.pdf Aufgabe B-18 ist das.

    Und hier mein Programmtext:

    #include <stdio.h>
    #include <stdbool.h>
    #include <complex.h>
    
    double complex o;
    double complex z;
    double complex c =(-2|1);
    double complex erg;
    int steps = 0;
    double cRE = 0.025210084;
    double cIM = 0.05;
    
    void rechne(double complex *o, double complex z, double complex c) {
     *o=(z*z)+c;
    	 // z² +c  = Ergebnis ==> Pointer o
        //*o = erg;
    }
    
    void wiederhole (double complex *c, int steps ) {
      do {
        c = rechne( &o, &z, &c);
    	steps = steps+1;
      }
      while (steps >= 30);
    }
    
    bool teste (double complex *o) {
        if (cabs(&o)<= 2)
       	 *o=true;
        else
       	 *o=false;
    }
    
    void zeichne (double complex *o) {
      if (teste == true) { ///////==
    	printf("*");
      }
      else {
    	printf(" ");
      }
    }
    
    int main (void) {
    
    for (y=1; y>= -1; y=y-cIM){
        for (x=1; x<=1; x=x+cRE){
       	 wiederhole(&o, &z, );
       	 teste();
       	 zeichne();
        }
        printf("\n");
    }
    
      return 0;
    }
    

    Wäre super wenn mir jemand helfen könnte. 👍 👍

    ~
    edit durch Seppj: Codetags.~


  • Mod

    Was ist deine Frage? Ob dir jemand die Hausaufgaben machen kann?

    Wie man seinen Beitrag lesbar formatiert. In diesem Fall habe ich das mal ausnahmsweise korrigiert, weil du das als unregistrierter Nutzer nicht machen kannst.

    Globale Variablen sind Mist, dein Programm ist der beste Beweis dafür. Doppelt verschärft wird das Problem durch eine Mischung aus nichtssagenden oder irreführenden Bezeichnern.

    Hast du überhaupt wenigstens mal versucht, die Aufgabe ernst zu nehmen? Das compiliert nicht einmal ansatzweise. Und die wenigen Teile, die compilieren, machen nicht das, was du denkst, da du anscheinend nur geraten (oder ausprobiert hast) wie du Dinge anstellen kannst, bis du dabei zufällig auf eine compilierbare Syntax gestoßen bist. Die aber ganz was anderes bedeutet als gewünscht. Denn Ausprobieren funktioniert in C nicht, C muss man lernen. Code ist kein Haufen von wahllos zusammengeschmissenen Buchstaben und Zeichen, Code ist Logik pur. Du musst genau wissen, warum du wo und welches Zeichen setzt. Wenn du nicht weißt, wie etwas geht, dann stell konkrete Fragen. Wenn du nicht weißt, wie eine bestimmte Funktion der Standardbibliothek (z.B. cabs ) zu nutzen ist, dann guck in einer Referenz nach. Und wenn du nicht weißt, wie Variablen, Funktionen, Schleifen und so weiter funktionieren, dann guck in deinen Kursunterlagen oder in einem Grundlagenbuch.

    PS: Ok, die unsinnigen und irreführenden Bezeichner (und überhaupt die etwas merkwürdige Programmstruktur) sind von der Ausgabenstellung vorgegeben, das ist nicht deine Schuld. Aber globale Variablen, die zufällig aussehende Verteilung von Sonderzeichen im Programm, und die fehlende Eigeninitiative.


Anmelden zum Antworten