Display Programmieraufgabe



  • Eine Komplettloesung wäre echt super. Wenn derjenige wirklich weniger als 2 Stunden braucht werd ich das Forum nie mehr nerven und mich meiner Unfähigkeit eingestehen.



  • Als gegenleistung für die Lösung deiner Bewerbungsaufgabe sollte es dann aber auch die Stelle geben 😕

    Achja, Arbeitgeber wissen auch wie man googled. Wenn er diesen Thread noch nicht gefunden hat, wird er das noch. 🙄


  • Mod

    Kati27 schrieb:

    Eine Komplettloesung wäre echt super. Wenn derjenige wirklich weniger als 2 Stunden braucht werd ich das Forum nie mehr nerven und mich meiner Unfähigkeit eingestehen.

    😕 Der Beitrag vor deinem ist eine Komplettlösung. Und für 21 Zeilen brauche ich keine 2 Stunden. Erkennst du nicht einmal eine Lösung, wenn man sie dir gibt?



  • Ok. Wieso hast du die Lösung so komisch formatiert. Das sieht aus wie ein Buchstabensalat. Außerdem wäre eine Kommentierung hilfreich. In welcher zeile verwendest du bilineare Interpolation bzw was verwendest du eigentlich für einen Algorithmus. Deine Lösung sieht nach einer High End Variante aus. Die Bibliotheken die du verwendest hör ich jetzt zum ersten Mal 🙂


  • Mod

    Hast du bisher überhaupt mal einen Punkt in irgendeiner Farbe irgendwo auf den Bildschirm gezeichnet?

    Die Interpolation in meinem Programm ergibt sich einfach automatisch aus dem Programmablauf, da ist nirgendwo eine spezielle Formel, die du dir abgucken kannst. Das Ganze findet in den Zeilen 9 und 10 statt, der Rest ist bloß Boilerplatecode drumherum, zwecks Auswertung der Tastatureingaben und Aufmachen des Fensters.

    Das Ergebnis ist, wie du siehst, nicht ganz perfekt, weil diese einfache Interpolation im RGB-Raum in der Mitte zu Artefakten führt, wenn die Farben in den Ecken unterschiedliche Töne haben. Korrekterweise müsste man hier eigentlich im HSV-Raum interpolieren. Und am Besten noch Gammawerte korrigieren, denn eine lineare Interpolation sieht einfach doof aus. Aber das bekommt jemand, der sich bei einem Displayhersteller bewerben will, sicherlich hin, jetzt, wo du einen Anfang hast. Du bist hier schließlich der Experte.

    Die Formatierung ist auf Textkonsolen und Drucker ausgelegt, das macht man im professionellen Umfeld so. Hier im Forum sieht das - zugegeben - etwas unübersichtlich aus.



  • Also ich hab jetzt mal was versucht. Aber es klappt noch net so ganz.

    Kann denn net mal einer eine Lösung versuchen die genau das ausgibt wie ichs gezeichnet habe.

    gradient(topLeft=0,topRight = 3 , bottomLeft = 0,bottomRight = 3);

    und die Funktion spuckt dann sowas hier aus da es ein 16:9 Bildschirm ist

    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
    0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3



  • ich hab jetzt mal meinen Code fertig gemacht. Wäre nett wenn ihr mir wenigstens
    mal eine kleine Hilfestellung geben könntet.

    https://github.com/Kati27/Test/blob/master/README.md





  • Bin für jede Hilfe dankbar. Auch was Code design, etc. angeht. Der Code gibt leider noch nicht das obige Bild aus 😞



  • int main( int argc, char **argv )
    {
    	argv[1] = "display";
    	argv[2] = "0";
    	argv[3] = "2";
    
    	argc = 4;
        // ...
    }
    

    Nein, nein, nein.
    Du kannst doch nicht einfach in argv rumschreiben. Was meinst du, fuer wie viele Eintraege das Speicher reserviert?



  • Das ist ja nur zum Testen. Klar wird das später der User machen !!



  • Und hier nochmal mein noch falscher Code. Bitte helfen .

    https://github.com/Kati27/Test/blob/master/test.cpp



  • Hyde++ schrieb:

    int main( int argc, char **argv )
    {
    	argv[1] = "display";
    	argv[2] = "0";
    	argv[3] = "2";
    
    	argc = 4;
        // ...
    }
    

    Nein, nein, nein.
    Du kannst doch nicht einfach in argv rumschreiben. Was meinst du, fuer wie viele Eintraege das Speicher reserviert?

    irgendwo gibt es ein forum
    voll von jugendlichen
    die um ihr taschengeld wetten
    wieviele beitraege sie ergattern koennen
    und wieviele ernste menschen wie dich sie entsetzen koennen
    in einem einzigen thread 😃

    (vielleicht zaehlt word-count noch bonus punkte, wobei quotes vermutlich nicht doppelt zaehlen, smileys mit augen aktionen -> 🙄 😮 verdoppeln die punktzahl des satzes, nehm ich an).

    hat blurry den februar geld pot wieder an sich gerissen? 😃



  • Bitte gebt mir feedback zu meinem Code. Wäre echt hilfreich.



  • Feedback: UK und US Schreibweise von Wörtern mischen ist doof.


  • Mod

    Der gezeigte Code zeugt nicht gerade vom Verständnis für agile Methoden oder des modernen Softwareentwicklungszyklus. Du solltest lieber ein modulares, plattformübergreifendes Framework benutzen, da dieses Projekt für dich im wahrsten Sinne des Wortes mission-critical ist. Das Backend kann dann in einer dynamischen Sprache wie Go oder Rust geschrieben werden, womit du out-of-the-box ein automatisches Deployment pünktlich zur Deadline erreichst. Wichtig ist doch vor allem, dass dein Programm fehlertolerant und skalierbar ist, beides ist derzeit nicht der Fall. Der Tester hat diese Aufgabe schließlich gestellt, da sie nicht-trivial ist und unkonventionelles Denken erfordert. Den derzeitigen Code solltest du auf jeden Fall noch einmal einem Refactoring unterziehen, bis er dann nach mehreren Iterationen sowohl alle Unit-Tests besteht (in diesem Fall sind das low-hanging-fruits), als auch dein Verständnis praxisorientierter Designpatterns widerspiegelt.



  • Der gezeigte Code zeugt nicht gerade vom Verständnis für agile Methoden oder des modernen Softwareentwicklungszyklus.

    Lol. Wie kommst du darauf dass mein Code nicht agil entwickelt wurde ? Genausowenig koenntest du sagen dass er nach Wasserfall entwickelt wurde. Ist ja nur ein Code und kein Entwicklungsprozess. Kein Mensch kann sagen nach welchem Entwicklungsprozess ein Code entwickelt wurde.

    Aber kann mir mal einer sagen was an meinem Code falsch ist ?



  • Das Backend kann dann in einer dynamischen Sprache wie Go oder Rust geschrieben werden

    Backend brauch ich sicher nicht 🙂


  • Mod

    Kati27 schrieb:

    Das sieht man an den fehlenden Buzzwörtern in den Kommentaren. Wenn jemand agil entwickelt, dann stellt er das auch zur Schau. Das gehört zum Prozess.

    Aber kann mir mal einer sagen was an meinem Code falsch ist ?

    Beispielsweise compiliert er nicht, weil atoi nicht delariert wurde.



  • Wahrscheinlich stimmt halt dieser Bilineare Algorithmus nicht. Nur wegen euch hab ich mich darauf eingelassen, damit alle andere Fälle abzudecken. Ihr habt gesagt ich soll versuchen es zu generalisieren.


Anmelden zum Antworten