Problem mit Array in C

  • Kann mir einer sagen wieso das Folgende nicht geht und was ich stattdessen tun muss? (Problem ist arr[] als Parameter)



    :stupid

  • kann mehrerer ursachen haben


    wie kommst du auf size= 4? daran gedacht dass 0 parameter = 1 parameter wären und dass array's bei 0 beginnen?


    main (bei dir mean = schreibfehler?) gibts 2 parameter, argv und argc... argc ist ein counter welcher die anzahl der parameter enthält, brauch den für den loop


    |---> it MUST be a spoon! <---|


      

  • Er meint mean, weil die Funktion den Durchschnitt berechnet.
    Und das ganze ist wohl nur ein kleiner Test, noch keine einsetzbare Software. Weil auch wenns dann mal funktioniert ists alles andere als sauber :)


    Wie rufst du die Funktion auf?
    Fehlermeldungen des Compilers?

    "It really is as useful as a snooze button on a smoke alarm" Jeremy Clarkson


    "Wennsd den Baum siehst, in den du rein fährst, hast untersteuern. Wennsd ihn nur hörst, hast übersteuern" Walter Röhrl

    Einmal editiert, zuletzt von tornado ()

  • Das weiss ich alles.


    mean ist die function für die Mittelwertberechnung. size = 4 hab ich einfach mal so angenommen. Das main() hab ich oben nicht angegeben.


    Die Frage ist, kann man als Parameter "int arr[]" mitgeben?


    hier halt noch das main:


    Code
    1. void main(void)
    2. {
    3. int array[4] = {1, 2, 3, 4};
    4. mittelwert = mean(array[]);
    5. }
  • Ja, es wird normalweise einfach in


    int *arr


    übersetzt, du übergibst also nur einen Pointer auf den ersten Wert von arr. Deshalb wärs noch interessant zu wissen, wie du die Funktion aufrufen willst.

    "It really is as useful as a snooze button on a smoke alarm" Jeremy Clarkson


    "Wennsd den Baum siehst, in den du rein fährst, hast untersteuern. Wennsd ihn nur hörst, hast übersteuern" Walter Röhrl

  • Man in Sprachform was ich möchte: Ich definiere zuerst ein Datenarray. Aus den einzelnen Elementen des Array möchte ich den Durchschnitt berechnen. Ich definiere also eine Funktion int mean("datenarray"), in die ich das Array gebe und bekomme das Resultat zurück.


    Wie geht das?