Conway`s Game of Live C++ Programmierung



  • vesa schrieb:

    http://www.steinmetz-jornitz.de/web09/wbb2/attachment.php?attachmentid=1241

    FYI: man muss eingeloggt sein damit man da zugreifen kann.





  • vesa schrieb:

    Ich studiere in Richtung Wirtschaftsingenieurewesen.
    Bin im ersten Semester und habe Informatik nur in diesem sonst nie wieder!
    Ich werde auch nie wieder was mit Informatik zu tun haben, deswegen ist es ja so sinnlos das uns solche Aufgaben gestellt werden...

    Da kein Informatiker solche Nichtskönner am Ende noch als Vorgesetzte haben will, solltest du wohl lieber auf Kunstgeschichte wechseln 🙄



  • vesa schrieb:

    Ich studiere in Richtung Wirtschaftsingenieurewesen.
    Bin im ersten Semester und habe Informatik nur in diesem sonst nie wieder!
    Ich werde auch nie wieder was mit Informatik zu tun haben, deswegen ist es ja so sinnlos das uns solche Aufgaben gestellt werden...

    Nur dann ist es kein Hauptfach und es kann dir egal sein, wie deine Note aussieht. Alles andere waere Betrug. Wenn du das unbedingt verstehen willst und haben willst, solltest du dich aus eigenem Interesse mit Programmierung befassen.



  • vesa schrieb:

    Naja wenns wirklich gut ist so um die 20 Euro.

    Schätz mal den Aufwand und überleg Dir dann nochmal, wieviel das wohl wirklich wert ist. Ich habe mir Deine Beschreibung nicht durchgelesen, aber wenn das eine klassische Übungsaufgabe für irgendeine Uni-Veranstaltung ist, muss man wohl mit ungefähr 5 Stunden Aufwand rechnen. Würdest Du 5 Stunden für insgesamt 20€ arbeiten? Ich meine, Programmieren ist zudem eine gehobene Tätigkeit, die nicht jeder kann. An Deiner Stelle würde ich also darüber nachdenken, ob mir das nicht vielleicht eher um die 75€ wert ist. ...und wenn nicht, dann würde ich an Deiner Stelle schonmal selbst damit anfangen.

    PS: Nur, dass das klar ist. Das ist ein allgemeiner Tipp, der nichts mit mir zu tun hat. Mich interessieren solche Aufgaben nicht. Würde das somit nichtmal für 200€ angehen.

    EDIT: Nachdem ich die Aufgabenstellung überflogen habe, würde ich eher auf einen Aufwand von 10 Stunden tippen.

    PS2: Die richtig schlauen Leute machen das übrigens so: Die gehen zu irgendwem hin und fragen "Kann ich mal meinen Namen bei Dir mit draufschreiben?". Das ist die günstigste Methode, einen Schein zu kriegen, wenn man absolut nichts dafür machen will.



  • Okay kann geschlossen werden!

    Hab schon ne bessere Lösung gefunden.

    @ maximAL wieso muss ich bitte Programmieren können? dafür gibts doch euch Informatiker! Grundkenntisse ja natürlich okay aber so einen Mist? Schön wenn dir das gefällt, für mich ist es einfach nichts. Aber du scheinst ja der Übergott zu sein der alles kann! Und das ich vielleicht irgend wann einmal dir vorgesetzt sein sollte, liegt ja wohl an dir und nicht an mir!

    @ heine eine 4,0 würde mir reichen na klar aber dazu braucht man ja erstmal irgendwas.

    @ Gregor ja ich hatte wie gesagt keine Ahnung was es für einen Aufwand macht aber dachte halt wenn ich das können soll (nach effektiv 15 Stunden C++ Einführung) kann es für einen Geübten nur richtig einfach sein^^ Natürlich hätte ich dann die Entlohnung höher angesetzt!
    Und irgendwo Namen rein schreiben ist nicht Gruppen wurden eingeteil bla bla..

    So dann nochmal danke an alle die sich ernsthaft meiner Frage angenommen haben!

    Wenn ich mal ne Einführung brauche zu C++ werde ich vielleicht hier netter
    Begrüßt^^

    Mfg Vesa



  • vesa schrieb:

    wieso muss ich bitte Programmieren können? dafür gibts doch euch Informatiker!

    Ja genau und wieso soll ich eine Bohrmaschine bedienen können? Dafür gibts doch euch Wirtschaftsingenieure. Ihr habt doch den ganzen Tag mit Bohrmaschinen zu tun, ihr Wirtschaftsingenieure, ihr



  • vesa schrieb:

    Ich studiere in Richtung Wirtschaftsingenieurewesen.
    Bin im ersten Semester und habe Informatik nur in diesem sonst nie wieder!
    Ich werde auch nie wieder was mit Informatik zu tun haben, deswegen ist es ja so sinnlos das uns solche Aufgaben gestellt werden...

    Es hat schon 'nen Grund warum man im 1. Semester Informatik/Einfuehrung ins Programmieren hat, auch wenn es im restlichen Studium nicht mehr vorkommt: weil es zu den Grundlagen gehoert, die spaeter in andere Faechern benoetigt werden. Wenn du dann irgendwann mal in Numerik oder Mathematischer Modellierung oder auch einfach bei der Datenauswertung fuer deine Thesis kuerzere Programme schreiben musst (oder gottbewahre, sogar laengere!) stehst dann erstmal wie der Esel vor'm Berg...



  • Wenn ich mal ne Einführung brauche zu C++ werde ich vielleicht hier netter
    Begrüßt^^

    Vermutlich, ja.
    Wobei es dich hoffentlich nicht wundert was hier passiert ist, war ja zu erwarten. Ich muss sagen für die Art von Anfrage ist das hier sogar sehr nett & zivilisiert diskutiert worden.



  • Hm naja ich weis im Nachhinein war es wirklich ganz schön dreist...

    Ich hab auch geschrieben das grundlagen okay wären aber das geht für mich über selbige hinaus.

    Aber es ist so frustrierend wenn man absolut nichts versteht und keinen Anfang findet aber den hab ich jetzt glaub ich also sehr grob!

    Also ich brauch:(Fachbegriffe fehlen völlig ich weis)

    1. einen array der mir mein Feld definiert

    2. eine funktion die Zufallszahlen erzeugt habe ich ja die muss ich so benutzen das sie mir in mein Feld meine Lebewesen zu dem bestimmten Prozentsatz zufällig rein setzt.
    eventuell lass ich für jedes Feld eine Zufallszahl zwischen 1 und 100 erzeugen (wenn das geht) und wenn die Zahl kleiner gleich der Prozentzahl ist mal ich in das Feld ein "Lebewesen" wenn nich geh ich ein Feld weiter.... bis das Feld einmal durchlaufen wurde. Ich weis aber nicht ob das so funktionieren kann...

    3. müsste das Feld irgendwie dem Datentyp bool ausgefüllt sein.
    Wenn das Feld also ausgemalt ist ist es true und wenn leer false...
    Naja jetzt müssten Regeln kommen die nun mit einer Schleife(for Schleife?) die Felder und ihre Nachbarn prüfen. Und Auf einem anderen Array nach den entsprechenden Regeln Lebewesen Löschen oder Malen.
    So würde auf dem neuen Array die neue Generation enstehen. Nun müsste die Regeln auf diesen Array angewendet werden. Und so weiter

    Ich weis ist nicht viel aber ich will ja nicht als völlig bescheuert da stehen.

    Naja also selbst an die Leute die mich für den größten Deppen halten, die mehr oder minder angemessene Kritik werd ich mir annehmen!



  • ad 1) Denau, dazu nimmt man ein Array

    ad 2) Ja, das geht so.

    ad 3) Der Typ der sich logisch anbietet ist bool, richtig.
    Schleife passt auch, "for" ist vermutlich der beste Kandidat, ja.
    Beim prüfen der Nachbarn auf Randbedingungen aufpassen (wenn du z.B. den linken oberen Eintrag im "Spielfeld" prüfst, darfst du natürlich nicht in das Feld links daneben, das Feld darüber oder das Feld links und darüber schauen, denn so ein Feld gibt es dann ja nicht).
    Arrays für die Regeln sind auch klar.
    Was die neue Generation angeht: das macht man normalerweise so, dass man ein 2. Array für das neu generierte "Spielfeld" macht, wo man die neuen Daten reinschreibt.
    Nachdem du alle Felder durch hast, kannst du dann z.b. einfach den Inhalt des neuen Arrays in das alte Array zurückkopieren. Man *kann* auch Zeiger auf die Arrays verwenden, und dann einfach nach dem Schleifendurchlauf die Zeiger vertauschen. Wenn du verstehst was da passiert ist das die bessere Möglichkeit. Wenn nicht, dann kopier' lieber den Inhalt des "New Generation Arrays" in das "Haupt Array" zurück.

    Tips in dieser Art wirst du vermutlich eher bekommen, als dass dir jemand das ganze programmiert. Vor allem wenn du einfach mal anfängst, und, wenn du auf ein Problem stösst, den Code inklusive Problembeschreibung hier postest.

    p.S.: statt Arrays würden sich auch Vektoren anbieten (std::vector), aber ich gehe mal davon aus dass ihr die in einem 15 stündigen C++ nicht durchgenommen habt. Wenn das zutrifft, dann auf jeden Fall lieber Arrays nehmen.



  • Okay dann werd ich mal versuchen das zu programmieren.
    Aber das wird sich wohl ne weile hinziehen weil das Wochenende schon für BWL Werkstofftechnik und Fertigungstechnik sowie technisches Zeichnen ausgelastet ist!
    Vielen Dank für die Rückmeldung
    Ich Versuch dann mal mein Bestes



  • Hallo vesa

    Da ich das für mich selber als eine nette Aufgabe gesehen habe, habe ich mich mal drangesetzt und habe das Game of Live programmiert. Da ich aber wie die anderen hier der Meinung bin, dass du nichts dabei lernst, wenn ich dir einfach den fertigen Source-Code gebe werde ich das auch nicht tun. Ich bin aber gerne bereit (wenn du willst) dir per E-Mail, ICQ.. zu helfen.
    Bei Interesse schreibst du mir am besten eine E-Mail an Ti.mmm@web.de und schreibst am besten hier noch rein, dass du mir eine E-Mail gesendet hast, damit ich auch nachschaue.

    Mit freundlichen Grüßen
    Tim



  • Und die fertige Anwendung? Koenntest du die vllt. bereitstellen? Wuerd's gern testen. 😉



  • Ja klar, kein Problem.

    >>Download<<

    Kleine Anleitung:
    1. Spielfeld-Größe eingeben
    2. Born-Regel(n) eingeben in der Form : "BXYZ" also z.B.: ("B2")
    3. Survive-Regel(n) eingeben in der Form "SXYZ"
    4. Prozentsatz bestimmen
    5. wgtf eintippen um die 0. Generation als .txt zu speichern oder show um es direkt in der Konsole anzuzeigen.
    6. nextgeneration eingeben um die nächste Generation zu erstellen
    7. Wieder wgtf oder show eingeben und dann beide Generationen vergleichen (x = lebende Zelle, o = tote Zelle).

    Beim Vergleichen noch beachten, dass wenn man an die Ränder kommt man auf der anderen Seite schauen muss. Also z.B.: Wenn man wissen will warum in der 1. Reihe in der 1.Generation irgendwo eine lebende Zelle ist, muss man in der 0.Generation die 1. Zeile, 2. Zeile und die letze Zeile anschauen... Ich hoffe ihr versteht was ich meine 😃

    Ich hab zwar bis jetzt nur kleine Stichproben gemacht, aber bei mir hat bis jetzt alles funktioniert.

    MfG Tim



  • Da gerade eben noch ein Problem gab, habe ich es nochmal neu hochgeladen:

    >>Download<<



  • Hi Tim
    cool von dir, dass auch du mir helfen willst! Wie gesagt siehts bei mir noch ein bisschen schlecht aus mit der Zeit, da ich bereits Donnerstag und Freitag die ersten Prüfungen schreibe! Deswegen wirds wohl erst am Fretag soweit sein, dass ich mich dann bei dir melde.

    Mit freundlichen Grüßen
    Vesa



  • Fatal Error appears schrieb:

    Da ich das für mich selber als eine nette Aufgabe gesehen habe, habe ich mich mal drangesetzt und habe das Game of Live programmiert.

    Das ist sicher schon öfter implementiert worden als Scheme.
    zB: http://johnmacfarlane.net/highlighting-kate/life.lua.html
    🙂



  • mngbd schrieb:

    Fatal Error appears schrieb:

    Da ich das für mich selber als eine nette Aufgabe gesehen habe, habe ich mich mal drangesetzt und habe das Game of Live programmiert.

    Das ist sicher schon öfter implementiert worden als Scheme.
    zB: http://johnmacfarlane.net/highlighting-kate/life.lua.html
    🙂

    Bezweifle ich nicht. Trotzdem habe ich es als nette Aufgabe gesehen.

    MfG Tim



  • Sry also ich schaffs nicht vor dem 15.02 dann sind erstmal alle prüfungen herum werde dann mal den code posten den wir bis dahin geschrieben haben!


Anmelden zum Antworten