tutorials.de Buch-Aktion 05/2012
Like Tree4Danke
  • 1 Beitrag von deepthroat
  • 1 Beitrag von sheel
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
260
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    C_Boy C_Boy ist offline Mitglied Bronze
    Registriert seit
    Jan 2011
    Beiträge
    44
    Hallo,

    Die Frage steht in den Comments. Bitte schaut euch das an.

    Danke !

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    
    struct punkt_struct
    {
      float x;
      float y;
    };
     
    typedef struct punkt_struct punkt;
     
    void getPunkte(punkt thePunkte[], int len)
    {
      double t=0;
     
      for( t = 0.0 ; t < len; t++)
      {
        thePunkte[(int)t].x = (float)t;
        thePunkte[(int)t].y = (float)sin(t*0.1);
      }
    }
     
    void printPunkte(punkt thePunkte[], int len)
    {
      int t=0;
     
      for( t = 0 ; t < len; t++)
      {
        printf("(x,y)=(%f,%f)\n",thePunkte[t].x ,thePunkte[t].y);
      }
    }
     
    punkt getGreater(punkt p1, punkt p2)
    {
      if (p1.y >= p2.y)
      {
        return p1;
      }
      return p2;
    }
     
    punkt findMax(punkt thePunkte[], int len)
    {
      int t=0;
      punkt maxValue;
     
      maxValue=thePunkte[0];
      for( t = 0 ; t < len; t++)
      {
        maxValue = getGreater(thePunkte[t],maxValue);
    //Soll das der Unterprogrammaufruf sein von punkt get creater? warum schreibt //man hier thepunkte und maxValue rein. Ich dachte immer man muss die //Übergabeparameter hineinschreiben: p1 und p2 in meinem Fall?
      }
      return maxValue;
    }
     
    void main()
    {
      ....
    }

    Gruß C_boy
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Ja, in Zeile 47 wird die Funktion getGreater aufgerufen.

    Der Funktion werden als Argumente thePunkte[t] und maxValue übergeben.

    Die Funktion besitzt 2 Parameter namens p1 und p2. Diese existieren nur in der Funktion getGreater und sind insbesondere nicht in der Funktion findMax bekannt.

    Die Argumente werden in dem Fall beim Aufruf kopiert (call by value) und p1, p2 haben in der Funktion die gleichen Werte wie thePunkte[t] und maxValue.

    Gruß
    C_Boy bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    getGreater ist kein Unterprogramm von punkt, aber dafür ein normales Unterprogramm, das zwei punkte als Parameter nimmt und einen punkt returnend.

    Und die Parameternamen sind wohl nicht so deine Sache?

    Übergeben kannst irgendwas, völlig egal, solange es punkt ist.
    Nur im getGreater wird das dann p1 und p2 genannt.
    C_Boy bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 29.10.05, 15:09