Wechselgeld 5 besten Kombinationen



  • @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    @EinNutzer0 sagte in Wechselgeld 5 besten Kombinationen:

    es ist C++ und wahrscheinlich nicht leicht nach C übertragbar

    sehe ich das richtig? man müsste erst einmal c++ lernen, um dein programm richtig zu verstehen und nach C umwandeln zu können, weil du eben kein C und damit auch kein vernünftiges beispiel kannst. oh mann!

    Sehe ich das richtig? Du müsstest erst mal C++ lernen, um sein Programm richtig zu verstehen, weil Du eben kein C++ kannst?
    Oh Mann ...



  • Mein Ausbilder wünscht explizit, dass ich alles in C schreibe.

    @TGGC
    Ich weiß gar nicht, wo dein Problem liegt. Ich bin für neue Sachen offen, allerdings sollen alle Aufgaben sehr einfach gelöst werden.
    Von dir kommen(für mich noch) immer komplizierte Lösungen.


  • Mod

    @codinglea sagte in Wechselgeld 5 besten Kombinationen:

    Mein Ausbilder wünscht explizit, dass ich alles in C schreibe.

    Ignorier' einfach alles von EinNutzer0, der ist einfach nicht hilfreich.

    @TGGC
    Ich weiß gar nicht, wo dein Problem liegt. Ich bin für neue Sachen offen, allerdings sollen alle Aufgaben sehr einfach gelöst werden.
    Von dir kommen(für mich noch) immer komplizierte Lösungen.

    Das liegt letztlich an dem, was TGGC in seiner allerersten Antwort vor langer Zeit geschrieben hat. Die Aufgabe ist uneindeutig gestellt:

    @TGGC sagte in Wechselgeld 5 besten Kombinationen:

    Die Aufgabe ist unterdefiniert, weil es im Allgemeinen keine genau 5 besten Kombinationen gibt. Auch geben Geldautomaten meist nicht die "besten" Kombinationen aus, sondern einige mit wenigen grossen und einige mit viele kleinen Scheinen aus.

    Die Lösung wäre eigentlich zu definieren, wie "gut" eine Kombination ist und dann einfach alle zu erzeugen in einem vector, darauf sort und dann n Einträge dieses Vectors ausgeben. Wenn Güte hier einfach die Anzahl der Scheine ist, sind einige Anordnungen rein zufällig (bzw. implementationsabhängig),

    Nun ist die ganz allgemeine Lösung, die mit beliebigen Scheinstückelung und einer relativ beliebigen Definition von "gut" zurecht kommt, nun einmal nicht so ganz einfach. Das ist nun einmal so. Würde man sich hingegen auf die übliche Stückelung (1, 2, 5, 10, … ) beschränken, wäre es schon viel einfacher. Wenn man dann auch noch eine günstige Definition von "gut" wählt, ist es noch besser.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!


  • @codinglea läuft es denn jetzt?



  • @SeppJ sagte in Wechselgeld 5 besten Kombinationen:

    Nun ist die ganz allgemeine Lösung, die mit beliebigen Scheinstückelung und einer relativ beliebigen Definition von "gut" zurecht kommt, nun einmal nicht so ganz einfach.

    Man muss aber dazu sagen, das sie ist aber auch nicht so schwer ist. Man muss sich mit Arrays, Divide'n'Conqer und Sortieren auskennen - was alles komplette Grundlagen sind und jeder produktiv arbeitende Programmierer lange im Schlaf kann. Diese ganze Rumgekrebse um dies krampfhaft zu umgehen und eine "simplere" Lösung zusammenzufrickeln ist reine Zeitverschwendung mit der man am Ende 0 gewinnt. So lange wie der Thread läuft hätte man diese drei Prinzipien auch längst durchdringen können. Bis aufs letztendliche Sortieren wurden ja hier auch schon Lösungen gezeigt.


  • Mod

    Das ist wahr.

    Oft sind allgemeine Lösungen ja sogar einfacher zu programmieren, laufen bloß länger. Hier hat man halt den Sonderfall, dass bei einer 1-2-5-Stückelung der Algorithmus zum Finden der "besten" Lösung ein ganzes Stück einfacher ist als im allgemeinen Fall und man sich dann daran hochhangeln könnte. Wenn man denn könnte. Hier fehlt das intuitive Verständnis für die grundlegenden Sprachmittel, die von dir genannt wurden, die die Notwendigkeit sind, damit man ein intuitives Verständnis für Algorithmen entwickeln kann. Ich empfehle, ein paar einfachere Übungsaufgaben zu versuchen. Oder vor allem Übungsaufgaben, die irgendeinem didaktischen Plan folgen. Diesen Mangel hat man schon bei der vorherigen Fragestellung von codinglea gemerkt, die überhaupt nicht für C auf dem Level geeignet war. Und jetzt schon wieder so etwas. Ich möchte die Kompetenz der Lehrkraft bei der Wahl dieser Aufgaben anzweifeln (Oder es ist ein fortgeschrittener Kurs und codinglea ist ganz weit abgehängt, kann man als Außenstehender schließlich nicht beurteilen).



  • Für die Beste - ja. Fürs Fünftbeste geht aber schon vorhersehbar die Frickelei los. So kann es vom Lehrenden nicht gedacht sein, entweder hat der sich wirklich gar nichts dabei gedacht (wie ich schon vermutete, das man so eine Ausbilding sich auch sparen kann) oder lea bekommt es 0 auf die Kette obwohl die Sachen schon soweit vermittelt wurden.



  • Ich weiß nicht, wie oft ich das noch erwähnen muss... 🙄
    Ich mache eine Ausbildung und muss mir ALLES selber beibringen, ich habe einfach nur Aufgaben erhalten, die ich abarbeiten muss. Mit den Voraussetzungen keine Wiederholung im Code und simpel gehalten und das war's.

    Es nervt, dass ich das immer wieder erwähnen muss. Außerdem nervt das total, dass hier manche meinen, klugscheißen zu müssen und dann aber wiederum hier was in C++ reinzuschicken und es nicht mal schaffen zu lesen, welche Kategorie das ist...
    Oder auch einfach nur so Müll reinschreiben und gar nicht weiterhelfen... die können gerne ihr Frust woanders auslassen.
    Ich hätte gerne einfach nur von hilfsbereiten Leuten Hilfe, da ich erst seit ein paar Wochen C lerne.



  • @TGGC
    So ein Kommentar ist zum Beispiel total unnötig!
    Hilft mir nicht weiter und ich habe erwähnt, dass ich die Aufgabe so bekommen habe, fertig.


  • Mod

    Wir sehen jemanden, der auf diese Art und Weise garantiert nicht C lernen wird. Das merkst du doch wohl auch hoffentlich selber, dass du nicht klar kommst. Und wir konnten dir sogar ziemlich eindeutig sagen, woran das liegt. Dem Rat kannst du entweder folgen, oder auch nicht. Ist schließlich deine Sache, ob du damit Erfolg haben möchtest oder nicht. Aber deine persönliche Einstellung dazu verändert nicht, dass deine Lernmethode schlecht ist, und dich deswegen jeder, der dir wirklich helfen möchte, ständig darauf aufmerksam machen wird. Die sind nicht böse, die wollen dir helfen! Wenn wir dir hingegen einfach nur eine Lösung hinklatschen, hilft dir das gar nix.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!


  • @titan99_
    Danke! So sehe ich das auch, man mag hier gar nichts mehr reinstellen.
    Gehört sich nicht, einen Anfänger, der eigentlich was lernen möchte und nur mal ab und zu Hilfe benötigt, so doof anzumachen.



  • @titan99_ sagte in Wechselgeld 5 besten Kombinationen:

    @SeppJ sagte in Wechselgeld 5 besten Kombinationen:

    Wir sehen jemanden, der auf diese Art und Weise garantiert nicht C lernen wird. Das merkst du doch wohl auch hoffentlich selber, dass du nicht klar kommst. Und wir konnten dir sogar ziemlich eindeutig sagen, woran das liegt.

    So etwas zu lesen finde ich garantiert demotivierend. Ich würde darauf nicht hören und woanders Hilfe suchen. Ausser ich hätte eine sehr "dicke Haut".

    Na und? Es kommt doch dann so oder so nichts bei rum. Das ist wie jemand, der Automechaniker lernen soll und man stellt ihm ohne Vorkenntnisse ein Totalschaden und kein Werkzeug hin und sagt: jetzt reparier da mal ein bisschen - kannst ja im INet googeln. Der könnte auch seine Zeit direkt mit was sinnvollem verbringen statt paar Monate vor dem Wrack zu hocken.



  • @codinglea ich habe dir weiter oben aufgezeigt, wo fehler sind. hast du die schon behoben bekommen?



  • Die hat doch nun einen funktionierenden Code von WOB bekommen ...
    In ihrem Thread wegen Vertauschung von Buchstaben in Strings war sie mit der gleichen Situation (Code kam von Wutz) dann zufrieden, behauptete später auch, sie hätte den Code verstanden, obwohl der Code dort nur einen Teil ihrer Anforderung erfüllte, einen anderen, wesentlichen Teil aber nicht!

    Das lässt meiner Meinung nach auf mangelnde Eigeninitiative oder mangelndes Interesse am programmieren allgemein schließen.



  • @Wade1234
    Ja, habe ich.



  • @codinglea
    dann müsste es jetzt ja eigentlich laufen, sofern du keine beträge wie 10050 o.ä. eingibst, weil sich das programm da erst einmal aufhängt.

    mögliche verbesserungen wären jetzt erst einmal folgende:

    • jeweils ein einzelnes printf für ein ergebnis mit verständlichem ausgabestring, d.h. printf("Anzahl 500 Euro: %i\n", a);, printf("Anzahl 200 Euro: %i\n", b); usw. und immer einen zeilenumbruch dazwischen.
    • verständliche variablennamen, d.h. statt a, ... , o und max_a, ... , max_o schreibst du bspw. anzahl500euro, ..., anzahl1cent und max_anzahl500euro, ... , max_anzahl1cent. du kannst dafür übrigens "suchen und ersetzen" verwenden: dazu drückst du strg-h und gibst dann ein, welcher text durch welchen text ersetzt werden soll. vorsicht: "alle ersetzen" kann schief gehen.
    • verwendung von konstanten: statt int o_wert = 1;, ... , int a_wert = 50000; schreibst du #define CENT1 1, ... , #define EURO500 50000

    achja und den code dann bitte! 🙂



  • @Belli sagte in Wechselgeld 5 besten Kombinationen:

    Das lässt meiner Meinung nach auf mangelnde Eigeninitiative oder mangelndes Interesse am programmieren allgemein schließen.

    oder auf fehlende sozialkompetenz von euch. ihr seid alle teamleiter in irgendwelchen unternehmen, ja?



  • @Wade1234 sagte in Wechselgeld 5 besten Kombinationen:

    @codinglea
    dann müsste es jetzt ja eigentlich laufen, sofern du keine beträge wie 10050 o.ä. eingibst, weil sich das programm da erst einmal aufhängt.
    ...
    achja und den code dann bitte! 🙂

    Du willst jetzt nicht allen Ernstes diesen Code mit den zig verschachtelten Schleifen weiter voran treiben, nachdem WOB hier eine kurze knackige allgemeine Lösung gepostet hat?