Veröffentlicht 9. Januar 200619 j hallo alle zusammen, habe hier folgende aufgabe, nur irgendwie hab ich glaub ich die hauptfunktion falsch, ich weiß auch nicht, was ich als eingabewert für noten[40] eingeben soll. die aufgabe ist eine alte prüfungsaufgabe in C nur die funktion ist gegeben und ich soll die funktion so ändern, dass sie nur eine return anweisung hat, ich glaube die lösung hätte ich, aber ich habe probleme mit der main funktion, so dass ich das ganze nicht testen kann, also ich stell jetzt erstmal das rein was vorgegeben war: int pruefeNotenliste(int noten[40], int n) { int i; for(i=0;i<n;i++) if(noten<1||noten>5) return i; return n; } ich denke so würde die funktion das gleich rausgeben mit nur einer return anweisung: int pruefeNotenliste(int noten[40], int n) { int i; for(i=0;i<=n;i++) if(noten<1||noten>5) return i; } und das ist meine hauptfunktion zur ersten funktion (die ich selbst gemacht habe) void main() { int a[40],m; m=7; pruefeNotenliste(a,m); printf("%d \n",pruefeNotenliste(a,m)); } danke im voraus für eure hilfe...
9. Januar 200619 j Und wo füllst du a? Zwischen den beiden pruefeNotenliste Versionen besteht übrigens kein Unterschied. Return beendet eine Funktion und gibt einen Wert zurück. D.h. zu dem return n wäre es nie gekommen. Ich empfehle dir erstmal ein Buch oder zumindest ein Online Tutorial zu C zu lesen.
9. Januar 200619 j zu dem a: das meinte ich ja mit noten[40] was ich da als eingabewert eingeben soll, weiß ich nicht.
9. Januar 200619 j das steht alles nicht in der aufgabe ich hatte nur die funktion und soll sie so ändern, dass nur eine return anweisung drin steht, aber das gleich ergebnis bei gleicher eingabe rauskommt:confused:
9. Januar 200619 j ich war auf dem Klo und ich glaube, ich weiss was die Aufgabe bezwecken soll. Übung mit den Pointern. Es ist ja so, dass eine Funktion nur einen Wert zurück geben kann. Du möchtest aber 2 Werte in der gleichen Funktion errechnen. Der Sinn und zweck sei dahin gestellt. du definierst einen Pointer in der main und übergibst den zeiger mit dem ersten arraywert an die funktion. rückgabe ist dann i, aber du kannst in der main den wert auf den der pointer zeigt, in dem Fall n, zugreifen ... aufm schaisshaus habe ich immer die besten ideen
9. Januar 200619 j oh ja danke denn im aufgabenblatt gehts auch um funktionen,parameterrückgabe und zeiger... dann probier ich mal weiter danke dir... für diesen gedankenblitz:)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.