kuub Geschrieben 9. Januar 2006 Geschrieben 9. Januar 2006 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... Zitieren
Guybrush Threepwood Geschrieben 9. Januar 2006 Geschrieben 9. Januar 2006 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. Zitieren
kuub Geschrieben 9. Januar 2006 Autor Geschrieben 9. Januar 2006 zu dem a: das meinte ich ja mit noten[40] was ich da als eingabewert eingeben soll, weiß ich nicht. Zitieren
baba007 Geschrieben 9. Januar 2006 Geschrieben 9. Januar 2006 was soll das ergebnis anzeigen ? Zitieren
kuub Geschrieben 9. Januar 2006 Autor Geschrieben 9. Januar 2006 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: Zitieren
baba007 Geschrieben 9. Januar 2006 Geschrieben 9. Januar 2006 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 Zitieren
kuub Geschrieben 9. Januar 2006 Autor Geschrieben 9. Januar 2006 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:) Zitieren
Shark21 Geschrieben 10. Januar 2006 Geschrieben 10. Januar 2006 aufm schaisshaus habe ich immer die besten ideen Geht mir oft ähnlich Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.