C++ Programmieraufgabe gegen Cash? (Bitte!...)



  • @SeppJ
    Ich hab selber nicht studiert, aber ich könnte mir vorstellen, dass man, wenn man solch eine Aufgabe gestellt bekommt, doch vielleicht im Laufe des Studiums eine Liste programmiert hat (programmieren hat müssen)?
    Ebenso ein einfaches Menü auf der Konsole ...
    Dann muss man doch letztendlich nicht mehr alles from scratch machen?

    Aber ja, trotzdem:
    So ein paar Stunden sind sicherlich knapp.
    Bekommt man so eine Aufgabe erst einen Tag vorher, oder pennt man bis einen Tag vorher und sucht sich dann ein paar Doofe?



  • @EJason
    Und erklären muss du deine eingereichte Lösung dann nicht noch?
    Und deine Uni-ITler stört es auch nicht, wenn sie hier sehen, dass du deine Arbeit "delegiert" hast?
    Und bei deinen Kommilitonen gibts keinen, der schon eine Lösung hat - und sie dann allen anderen Notleidenden "spendiert"?

    Fachlich ist die Aufgabe vollkommener Schrott (sie meinen C sagen aber C++; verk.Listen sind grundsätzlich Schrott,...), der IT-IQ deiner Aufgabensteller tendiert gegen Null - ich weiß, das hilft dir jetzt auch nicht weiter, aber eigentlich war die Vehemenz unseres Mods hier gegen den Missbrauch dieses Forums als Hausaufgabenlösungs-Center auch schon mal deutlich größer ausgeprägt.

    Da ich grundsätzlich keine verk.Listen programmiere, werde ich dir nicht helfen.



  • @SeppJ Meinst du? Mal deinen Anspruch weggenommen ... ne basic Implementierung einer verketten Liste ist doch schnell getan, aus dem Internet kopiert ... ich rede hier von sowas: https://www.geeksforgeeks.org/linked-list-set-1-introduction/

    InsertAtBegin, insertAtEnd, insertSorted sollten wohl sehr gut machbar sein ... halt ein Node an der richtigen Stelle platzieren.

    Den Bubblesort kopiert man sich von Wikipedia oder so und passt ihn so an das er mit der Liste klappt.

    Die Funktion "print" ist beim Basis setup schon mit dabei 😉

    Alternativ kann man auch 2min mehr in ne google Suche investieren. https://www.codementor.io/@codementorteam/a-comprehensive-guide-to-implementation-of-singly-linked-list-using-c_plus_plus-ondlm5azr
    Boah verkette Liste mit print, insert start/middle/end schon am Start. Ist der Code super schönes modernes C++, wohl kaum. Reicht es um eine 4.0 zu bekommen, um somit das Modul zu bestehen, vermutlich schon. Dazu muss es imo nur funktionieren, egal wie, eventuell nicht mal das.



  • Danke mehr oder weniger für eure Antworten. Ich schätze wohl, dass ich die Aufgabe schleifen lassen werde, da ich das zeitlich ohnehin nicht gebacken bekomme.

    Wegen den Modulen im Folgesemester:
    Ich darf die leider nur dann belegen, wenn ich alle Module des zweiten Semesters (Objektorientierte Programmierung gehört da dazu) bestanden habe.


  • Mod

    @Leon0402 sagte in C++ Programmieraufgabe gegen Cash? (Bitte!...):

    @SeppJ Meinst du? Mal deinen Anspruch weggenommen ... ne basic Implementierung einer verketten Liste ist doch schnell getan, aus dem Internet kopiert ... ich rede hier von sowas: https://www.geeksforgeeks.org/linked-list-set-1-introduction/

    InsertAtBegin, insertAtEnd, insertSorted sollten wohl sehr gut machbar sein ... halt ein Node an der richtigen Stelle platzieren.

    Den Bubblesort kopiert man sich von Wikipedia oder so und passt ihn so an das er mit der Liste klappt.

    Die Funktion "print" ist beim Basis setup schon mit dabei 😉

    Alternativ kann man auch 2min mehr in ne google Suche investieren. https://www.codementor.io/@codementorteam/a-comprehensive-guide-to-implementation-of-singly-linked-list-using-c_plus_plus-ondlm5azr
    Boah verkette Liste mit print, insert start/middle/end schon am Start. Ist der Code super schönes modernes C++, wohl kaum. Reicht es um eine 4.0 zu bekommen, um somit das Modul zu bestehen, vermutlich schon. Dazu muss es imo nur funktionieren, egal wie, eventuell nicht mal das.

    Abgesehen davon, dass mein eigener Anspruch für solch eine Aufgabe eine 1+ mit Sternchen wäre, so bestätigen die Links doch nur meine Vorurteile gegen Abschreiben von schattigem Internetcode:

      void insert_position(int pos, int value)
      {
        node *pre=new node;
        node *cur=new node;
        node *temp=new node;
        cur=head;
        for(int i=1;i<pos;i++)
        {
          pre=cur;
          cur=cur->next;
        }
        temp->data=value;
        pre->next=temp;	
        temp->next=cur;
      }
    

    Setzen, Sechs!



  • @SeppJ sagte in C++ Programmieraufgabe gegen Cash? (Bitte!...):

    Abgesehen davon, dass mein eigener Anspruch für solch eine Aufgabe eine 1+ mit Sternchen wäre, so bestätigen die Links doch nur meine Vorurteile gegen Abschreiben von schattigem Internetcode:

      void insert_position(int pos, int value)
      {
        node *pre=new node;
        node *cur=new node;
        node *temp=new node;
        cur=head;
        for(int i=1;i<pos;i++)
        {
          pre=cur;
          cur=cur->next;
        }
        temp->data=value;
        pre->next=temp;	
        temp->next=cur;
      }
    

    😢



  • @hustbaer Jetzt wissen wir wenigstens sicher warum 640k niemals genug sein konnte.



  • Mir geht gerade durch den Kopf, wenn man so in Zeitnot ist kann man
    ja die Lösung zusammen googeln...

    Ich meine Bublesort in c++ , Liste in c++
    der Rest sollte mit rudimentären Kenntnissen von C++ hinhauen

    P.S. Ich kenne solche Testat Arbeiten recht gut... Und meistens hatten die Profs nichts dagegen es später abzugeben, wenn man einen Grund vorweisen konnte.



  • Ja das hatte ich ja gesagt. Das man bei den Internet Links nicht so den tollsten C++ Code findet, habe ich ja nicht angezweifelt. Aber ihr geht es offensichtlich um das Zugelassen werden für eine Klausur, nicht um einen Code Schönheitspreis.



  • Ich weiss nicht ob dazu Code mit einem super-eindeutigen Memory Leak reicht. Noch dazu wenn es klar darauf hindeutet dass der Autor die Sprache überhaupt nicht verstanden hat.



  • @hustbaer sieht genauso schaebig aus, wie das c (mit std::cout) was ueberall gelehrt wird



  • #include <forward_list>
    using my_list = std::forward_list<int>;
    

    done.



  • @Swordfish

    using my_list = std::forward_list<int>;

    Ja, das war auch mein erster Gedanke. Einfach std::list und std::forward_list nehmen und es auf eine Diskussion ankommen lassen.

    Lustigerweise ist dies mal an meiner ehemaligen Uni passiert. Die Aufgabenstellung lautet frei: Implementieren sie in XYZ Assembler einen Quicksort.

    Die Antwort eines Studenten:

    mov ...
    call QUICKSORT

    Offenbar gab es eine Version des XYZ Assemblers welche in der Praxis eingesetzt wurde und dieser hatte den Quicksort implementiert. Das wusste aber der Prof nicht.

    Der Student bekam nach einigen Diskussionen die volle Punktzahl und seit diesem Zeitpunkt wurde die Aufgabenstellung umbenannt in: Implementieren sie in XYZ Assembler einen Quicksort mit Hilfe der folgenden Befehle: ...


  • Mod

    @Cardiac sagte in C++ Programmieraufgabe gegen Cash? (Bitte!...):

    @hustbaer sieht genauso schaebig aus, wie das c (mit std::cout) was ueberall gelehrt wird

    Nee, das hier ist schon eine ganz andere Hausnummer. Das ist von jemanden, der Java (von der Sprache her) ein bisschen aber nicht so wirklich kann, und Programmieren (allgemein) überhaupt nicht kann, und dann versucht hat, C++ zu machen. Der Code muss wirklich Note Sechs geben. Ohne Übertreibung.

    Das war ja auch nicht gezielt ein schlechtes Beispiel, dass ich da heraus gepickt habe. Der ganze Code auf der Seite ist von diesem Niveau. Man sollte halt nicht anhand irgendwelcher Blogs Programmieren lernen.



  • Der Code schaut so aus als wäre jemand der Meinung dass er jeden Foo Zeiger mit Foo* foo = new Foo; initialisieren muss. Dass das nötig ist um den Zeiger selbst zu erzeugen oder so. Bzw. dass dem Programmierer halt die Unterscheidung zwischen Zeiger und Objekt nicht klar war.
    Das ist schon ziemlich daneben.


Anmelden zum Antworten