C++ Aufgabe programmieren
-
@DirkB ok und wie kann ich es jetzt machen also wie würdest du den code ändern so das es funktioniert ?
-
@badboy sagte in C++ Aufgabe programmieren:
@DirkB ok und wie kann ich es jetzt machen also wie würdest du den code ändern so das es funktioniert ?
Du musst das a weg lassen
In der Funktion und beim Aufruf.Und dir nochmal überlegen, was "zwischen 0 und n - 1 liegen (inklusive n - 1)." bedeutet.
Bei welcher Zahl ist bei n=5 noch die Bedingung erfüllt (3, 4, 5)?
-
Ah, da hat also jemand C++ in der Uni
Schau dir mal diesen Link an
https://www.cplusplus.com/doc/tutorial/functions/C++ is bei mir schon ein paar Tage her, allerdings würde ich wie @Helmut-Jakoby vorgehen.
Guck dir an was die Aufgabe sagt, dann schreibst du dir auf einen Zettel was du für "Teilaufgaben hast" um die Gesamtaufgabe zu lösen.
Du musst wissen wie du eine Funktion schreiben kannst(siehe Link oben), dann musst du dir die Logik überlegen wie die Funktion arbeitet.
Bist du dir sicher das du 3 Zahlen eingeben sollst? Also x,y und n sind alle gewünscht in der Funktion?
Hätte jetzt geschätzt, dass x und y zwei Zahlen sind die du mit in die Funktion einkippst, n ist eine Zahl die -1 der größeren der beiden Zahlen ist.
Wenn x und y zwischen 0 und n -1 liegen, wird 1 zurück gegeben (return), sonst 0 (auch als Wert und nicht als NULL).
-
Wäre n einfach die größere der beiden Zahlen - 1, dann wäre die Bedingung immer erfüllt, solange x und y nicht negativ sind.
-
Ist zumindest schon mal ein besserer Algorithmus
-
@Ashtari sagte in C++ Aufgabe programmieren:
Ah, da hat also jemand C++ in der Uni
Ich hoffe nicht. Wie kommst du zu der Annahme?
-
@Jockelx sagte in C++ Aufgabe programmieren:
@Ashtari sagte in C++ Aufgabe programmieren:
Ah, da hat also jemand C++ in der Uni
Ich hoffe nicht. Wie kommst du zu der Annahme?
Klingt für mich nach einer Aufgabe aus meiner Uni.
Und mein C++ Kurs an der Uni ist erst 3 Jahre her, daher realistisch das es noch Universitäten gibt wo das eine mögliche Aufgabe wäre.
-
@Ashtari ja ist von der Uni
-
Ok, in der Aufgabenstellung ist bereits die Signatur der Funktion vorgegeben
pruefen (x, y, n)
, dazu sollen alle Zahlen vom Typint
sein.D.h.
int pruefen(int x, int y, int n);
ergibt sich damit schon von selbst. Da man sinnvoller Weise die Zahlen x, y, n auch noch innerhalb der Funktion konstant haben sollte, ist die folgende Variante besser.
int pruefen(const int x, const int y, const int n);
Dein Aufgabe ist es nun, den Code der Funktion zu schreiben, so dass 1 zurückgegeben wird, wenn beide Zahlen x und y zwischen 0 und n - 1 liegen (inklusive n - 1) und sonst immer 0.
Dann sollst Du noch eine
main
Funktion schreiben, die mindestens einmalpruefen
aufruft.Wo bitte ist Dein Verständnisproblem?
-
@john-0 ich komm irgendwie nicht drauf wie man das macht könntest du mir zeigen wie du das programmieren würdest also die aufgabe und vllt noch erklären was du gemacht hast. danke
-
@badboy sagte in C++ Aufgabe programmieren:
if (x>0 && y > 0 && x< a[n-1] && y< a[n-1]){
wenn du da das a (und die eckigen Klammern) entfernst, hast du es doch schon fast.
-
@DirkB ich hab des entfernt aber was mach ich dann mit "int a[] = { 1, 2, 3, 4, 5};" des muss ich ja auch irgendwie deklarieren oder nicht wenn ich a entferne?
-
@badboy sagte in C++ Aufgabe programmieren:
@DirkB ich hab des entfernt aber was mach ich dann mit "int a[] = { 1, 2, 3, 4, 5};" des muss ich ja auch irgendwie deklarieren oder nicht wenn ich a entferne?
Achte auf die Warnungen vom Compiler (stelle dafür den Warnlevel auf Maximum)
Der meldet dann sowas wie "Variable deklariert aber nie benutzt".Im übrigen ist das a[]-Gedöns deine Erweiterung der Aufgabe.
Die Vorgaben sind eindeutig, das a ist überflüssig.