FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Allgemeines

C++ Hilfe!!!!!!!!

C++ Hilfe!!!!!!!! 2010-09-20 14:06
DeLuu
Hallo alle zusammen,
ich bin gerade mit meiner Diplomarbeit in BWL beschäftigt und muss in diesem Rahmen eine selbst entworfene Methodik in C++ eintragen.
Ich habe leider kaum eine Ahnung von dem Programm (hab mir zwar so nen Tutorial Buch geholt, finde aber keinen richtigen Zugang dazu).
Kennt sich irgendjemand gut mit C++ aus und hat Lust mir einen mehrstündigen Crashkurs (natürlich bezahle ich auch dafür!) zu geben?
Bitte meldet euch, am Besten so schnell wie möglich, da die Abgabe zwar noch ein bißchen entfernt ist aber so weit auch nicht mehr.

Danke schonmal!

RE: C++ Hilfe!!!!!!!! 2010-09-20 14:16
Wulf
Meinst du die Programmiersprache "C++"? Ich wundere mich, warum du das ein "Programm" nennst. Und "Methodik in C++ eintragen" klingt auch sehr seltsam.
Kannst du überhaupt programmieren?

Ist es in einer Diplomarbeit zulässig, das grobe Konzept für ein Programm zu erstellen und zu beschreiben, die Programmierarbeit an sich aber jemand anderen machen zu lassen?

RE: C++ Hilfe!!!!!!!! 2010-09-20 14:28
Anonymer User
von den BWLern wird doch eh nix erwartet. die müssen nur rumdeligieren können. damit können die also auch schon gut zur DA anfangen.

RE: C++ Hilfe!!!!!!!! 2010-09-20 14:28
DeLuu
Ja, ich meine die Programmiersprache C++. Ich habe bisher noch nie programmiert, ich möchte aber auch nicht, dass es jemand für mich macht.
Ich möchte nur, dass mir jemand zeigt, wie man Schleifen und Fallunterscheidungungen usw. richtig programmiert. Die eigentliche Programmierarbeit möchte ich daraufhin selber machen.
Ich denke sich etwas neues erklären lassen ist im Rahmen einer Diplomarbeit nicht verboten.

RE: C++ Hilfe!!!!!!!! 2010-09-20 14:32
Anonymer User
kauf dir doch C++ für BWLer äähhhmm dummies ;-) http://www.amazon.de/Beginning-Programming-Dummies-Computers/dp/0470617977/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1284985920&sr=8-1

damit ist es easy beasy mit bissl IQ in da brain..

RE: C++ Hilfe!!!!!!!! 2010-09-20 14:48
Vollkorn
Muss es unbedingt C++ sein? C++ hat m.E. eine hohe Einstiegshürde. Es gibt wesentlich einfachere "Einsteiger-Sprachen" (z.B. Python). Erzähl mal ein wenig mehr zum Kontext, dass man beurteilen kann worum es bei deiner Anfrage geht, denn C++ kann ein scheinbar endloses Feld sein.

RE: C++ Hilfe!!!!!!!! 2010-09-20 15:24
garou
Ich kann Vollkorn nur zustimmen. Python bietet sich an, weil es leicht zu erlernen und einfach zu benutzen ist.Handelt es sich größtenteils um ein mathematisches Theorem, das es in ein Programm zu übersetzen gilt, könnte auch Scheme in Frage kommen.
C++ ist meines Erachtens für nahezu jede Aufgabe eine ultima ratio.

RE: C++ Hilfe!!!!!!!! 2010-09-20 15:26
DeLuu
Der Professor hätte es gerne in C++, daher sollte ich es auch damit machen. Es geht darum, dass ich eine Heuristik für ein Problem entwickelt habe und diese nun anhand eine Beispeilaufgabe rechnen soll. Das Beispiel habe ich schon vorprogrammiert vom Lehrstuhl bekommen. Mein Hauptproblem ist: ich habe innerhalb der Methodik eine vierfache Fallunterscheidung und muss zur Prüfung zielgerichtet einzelne Elemente in Matrizen ansprechen (z.B muss ich prüfen ob in einer gewissen Periode noch Kapazität auf eine bestimmten Maschine für eine bestimmtes Produkt existiert).
Damit habe ich die meisten Probleme.

RE: C++ Hilfe!!!!!!!! 2010-09-20 16:04
garou
1. Schreibe eine Funktion, die die Matrix und andere relevante Daten als Parameter bekommt und entweder die Matrix manipuliert oder die manipulierte Matrix als Ergebnis zurückgibt; was davon, hängt davon ab, ob du die Matrix per Referenz oder Wert übergibst. Lasse diese Funktion zuerst keine weitere Funktionalität haben.
2. Finde die Stelle, an der die Matrixmanipulation stattfinden sollte, baue einen Funktionsaufruf zu der eben geschriebenen Funktion auf und überprüfe, daß alles so läuft wie zuvor.
3. Erweitere die Funktion um die von dir gewünschte Funktionalität.
4. Suche den Fehler, verbringe lange Nächte mit dieser Suche, fange dich an zu fragen, ob dein Professor überhaupt selbst C++ beherrscht, laß' die Funktion alle ein- und ausgegebenen Werte ausdrucken, lasse jemanden, der C++ beherrscht, auf den Code schauen und dir etwas sagen wie "Wenn du die Matrix als Wert übergibst, mußt du sie nach dem Aufruf natürlich auf auf den Rückgabewert setzen", beiß' in die Tischkante und gib' die Arbeit in letzter Minute ab.

So würde ich es machen… Zugegeben, ich würd's in Python machen. :D

Und so flachpfeifig die anonymen Trolle auch mal wieder sind, eines stimmt: Dieses ist ein typisches Problem, bei dem der BWLer erklärt, was er ausgerechnet hat, und der Informatiker übersetzt.

RE: C++ Hilfe!!!!!!!! 2010-09-20 16:39
DeLuu
1. Schreibe eine Funktion, die die Matrix und andere relevante Daten als Parameter bekommt und entweder die Matrix manipuliert oder die manipulierte Matrix als Ergebnis zurückgibt; was davon, hängt davon ab, ob du die Matrix per Referenz oder Wert übergibst. Lasse diese Funktion zuerst keine weitere Funktionalität haben.

Da ich leider nicht weis wie das genau funktioniert bleibt meine anfängliche Frage, ob jemand Lust hat sich ein paar Stunden mit mir hinzusetzen und mir ein paar Programmierhandgriffe beizubringen.

gruß

RE: C++ Hilfe!!!!!!!! 2010-09-20 17:23
hann1bal
Welches BS haste denn? Windows? Apple? Linux?

Hast Du schon einen Compiler installiert? Schon mal ein "Hello World" kompiliert?
(Wenn Du hier mit 'nein' antwortest, dann solltest Du besser in der nächsten Frage mit 'viel' antworten. Sonst solltest Du nochmal zu Deinem Prof hingehen und fragen, ob es denn wirklich C++ sein muss - was zugegebenermaßen *Mist* ist.)

Wie viel Zeit  hast Du noch?

Kannst Du die Formel denn mit mathematischen Symbolen korrekt aufschreiben?

RE: C++ Hilfe!!!!!!!! 2010-09-20 18:01
DeLuu
ich benutze Windows und habe den GNU g++4.3 compiler. Ich habe mit einem Übungsbuch schon kleinere Beispielaufgaben gemacht und kompiliert. Die mathematische Formel steht. Die ist Methode ist schon komplett fertig und ich hab sie von Hand auch schon für eine sehr kleine Problemstruktur gerechnet um zu sehen ob sie funktioniert.
Jetzt soll das ganze halt noch für ein größeres Problem mit c++ gerechnet werden.
Ich habe noch sechs Wochen Zeit für den Spaß, bin aber mit dem sonstigen Schreiben der Arbeit fast durch, sodass ich mich ganz darauf konzentrieren kann.

RE: C++ Hilfe!!!!!!!! 2010-09-20 18:03
Fred
Ja, ich meine die Programmiersprache C++. Ich habe bisher noch nie programmiert
Request for clarity:

[ ] Du hast noch nie in C++ programmiert
[ ] Du hast noch nie in irgendeiner Sprache programmiert

Wenn Du tatsächlich noch nie programmiert hast, dann wirst Du mit C++ keine schnellen Erfolge erzielen können. Kauf Dir ein gutes Buch (bloß nicht diesen "For Dummies"-Mist!) und plane 6-12 Monate ein.

RE: C++ Hilfe!!!!!!!! 2010-09-20 18:11
DeLuu
Ja, ich meine die Programmiersprache C++. Ich habe bisher noch nie programmiert
Request for clarity:

[ ] Du hast noch nie in C++ programmiert
[ ] Du hast noch nie in irgendeiner Sprache programmiert

Letzters ist der Fall! Bis darauf, dass ein Übungsbuch für C++ (nicht die für Dummies Variante!) gemacht habe, hab ich keine Erfahrungen auf dem Gebiet.

RE: C++ Hilfe!!!!!!!! 2010-09-20 18:21
Fred
ich habe innerhalb der Methodik eine vierfache Fallunterscheidung
Eine vierfache Fallunterscheidung könnte wie folgt aussehen:
if (a < b + c + d) {     // ... } else if (a + b < c + d) {     // ... } else if (a + b + c < d) {     // ... } else {     // ... }
und muss zur Prüfung zielgerichtet einzelne Elemente in Matrizen ansprechen
Was genau verstehst Du unter einer Matrix? Sowas wie in der Mathematik? Eine zweidimensionale Gleitkomma-Matrix mit den Ausmaßen 3x4 könnte wie folgt aussehen:
double matrix[4][3]; Da die Übergabe von C-Arrays allerdings "merkwürdigen" Regeln unterliegt, ist es sinnvoller, eine eigene Klasse "Matrix" zu schreiben, die ein entsprechendes Array beinhaltet oder auf modernere Container auszuweichen, z.B. boost::array oder boost::multi_array.

(z.B muss ich prüfen ob in einer gewissen Periode noch Kapazität auf eine bestimmten Maschine für eine bestimmtes Produkt existiert).
Was für Datentypen sind "Periode", "Maschine" und "Produkt"? Zahlen? Zeichenketten? Eigene Klassen?

Bis darauf, dass ein Übungsbuch für C++ (nicht die für Dummies Variante!) gemacht habe, hab ich keine Erfahrungen auf dem Gebiet.
Was heißt das, Du hast "ein Übungsbuch gemacht"? Von vorne bis hinten durchgearbeitet? Da muss doch irgendwas hängengeblieben sein. Wie lautet der Titel dieses Buches?

RE: C++ Hilfe!!!!!!!! 2010-09-20 19:29
DeLuu
In dem Übungsbuch:
Einstieg in C++: 4. Auflage (Galileo Computing) http://www.amazon.de/Einstieg-4-Auflage-Galileo-Computing/dp/3836213850/ref=sr_1_8?ie=UTF8&s=books&qid=1285002653&sr=8-8
Hab ich alle Kapitel gelesen und die Übungsaufgaben dazu gemacht.
Mein Probleme gehen schon mit der Datentypedeklaration los. Ich habe insgesamt rund 20 unterschiedliche Variablen unterschedlicher Klassen. Vom Lehrstuhl hab ich eine Datei bekommen, in der eine Problemstruktur in c++ gecodet und mit einer ähnlichen Methode gerechnet wurde. Ich würde jetzt gerne das gleiche Problem mit meiner Methode lösen und die Ergebnisse später miteinander vergleichen. Dafür bräuchte ich jemanden der mir hilft meine Methode mit den gegebenen Daten abzustimmen.
Ich kanns leider nicht besser erlären.

RE: C++ Hilfe!!!!!!!! 2010-09-20 20:10
Anonymer User
Ich bin Informatiker und habe noch niemals ein komplettes Lehrbuch samt Übungsaufgaben durchgearbeitet. Hast du das tatsächlich gemacht und hast immernoch Probleme solltest du dir wirklich, ganz ehrlich ernsthaft überlegen a) dein Thema zu wechseln oder b) jemanden mit dieser Arbeit zu beauftragen.

Dein Problem könnte man ähnlich mit richtigen Sprachen vergleichen. Du willst, dass dir jemand mal kurz Spanisch beibringt weil du in drei Wochen einem spanischen Debattierclub beitreten willst.

RE: C++ Hilfe!!!!!!!! 2010-09-20 20:13
Anonymer User
Was bist du denn bereit zu zahlen? Ich habe in meiner Bachelorarbeit auch etwas in C++ implementieren müssen. (Ich hätte python aber auch vorgezogen ;))

RE: C++ Hilfe!!!!!!!! 2010-09-20 20:33
Vollkorn
Dein Problem könnte man ähnlich mit richtigen Sprachen vergleichen. Du willst, dass dir jemand mal kurz Spanisch beibringt weil du in drei Wochen einem spanischen Debattierclub beitreten willst.

Ich würde es eher so formulieren als würde er eine komplexe Geschichte mit Wiederholungen, Flashbacks und parallelen Handlungssträngen auf Spanisch ganz genau verstehen und umschreiben wollen. Nicht gerade Debattierclub, aber auch hart.

RE: C++ Hilfe!!!!!!!! 2010-09-22 22:46
naizirk
kann s sein, dass die informatiker hier alle n kleinen wenig übertreiben oder große verständnisprobleme haben? oder bin ich das etwa? :-O

er hat ne Problemformulierung und einen gegebenen (in C++ implementierten) algorithmus für sein problem

jetzt hat er sich einen anderen/eigenen algorithmus einfallen lassen (oder wo auch immer der her ist) und möchte den entsprechend der gegebenen lösung umsetzen, so dass er danach mit beliebig großer "problemstruktur" beide algorithmen vergleichen kann hinsichtlich der ergebnisse

programmiert wird hier quasi nur, um die "problemstruktur" groß zu halten, schließe ich jedenfalls daraus, dass er es mit kleinerer struktur per hand rechnen kann

ohne wirklich plan von heuristiken und c++ zu haben und ohne zu wissen, was dir gegeben ist, geh ich einfach mal davon aus, dass du 50-66% des gegebenen codes übernehmen kannst (quasi alles was dein problem modelliert) bis hin zu den methodenaufrufen (da die programmierten lösungen (deine und die gegebene) ja für das gleiche problem sind)

irgendwie glaube ich nicht, dass er auch nur annähernd C++ programmieren können muss, um sein programm fertigstellen zu können, ka…um bei dem sprachvergleich zu bleiben: er weiß, wie er in deutschland ein bier bestellt, es öffnet und es trinkt…jetzt möcht er es in 6 wochen auch in spanien bestellen können, öffnen und trinken :-)

RE: C++ Hilfe!!!!!!!! 2010-09-22 23:19
Anonymer User
kann s sein, dass die informatiker hier alle n kleinen wenig übertreiben oder große verständnisprobleme haben? oder bin ich das etwa? :-O

Ich glaube das bist du. Selbst wenn 90% des Codes bereits stehen muss man in der Lage sein ihn zu verstehen oder zumindest über gegebene Schnittstellen bedienen können - was seinerseits wieder Verständnis und C++ bzw. allgemeine Programmierkenntnisse voraussetzt. Sowas wie "baue eine Erweiterung für das Kino-Planungsprogramm in deiner ersten SE1 Übungsstunde".

Überhaupt ist so eine Einschätzung ohne Kenntniss des tatsächlichen Aufgabenbestandes unsinnig und kann nur auf Annahmen wie "die BWLer müssen eh nix können" beruhen. Darüber hinaus hat er selbst ja gefragt, ob man ihm eben mal C++ per Crashkurs beibringen kann.

RE: C++ Hilfe!!!!!!!! 2010-09-23 00:09
naizirk
kann s sein, dass die informatiker hier alle n kleinen wenig übertreiben oder große verständnisprobleme haben? oder bin ich das etwa? :-O

Ich glaube das bist du. Selbst wenn 90% des Codes bereits stehen muss man in der Lage sein ihn zu verstehen oder zumindest über gegebene Schnittstellen bedienen können - was seinerseits wieder Verständnis und C++ bzw. allgemeine Programmierkenntnisse voraussetzt. Sowas wie "baue eine Erweiterung für das Kino-Planungsprogramm in deiner ersten SE1 Übungsstunde".
ja, was anderes hab ich nicht behauptet…abgesehen davon, dass es eher zu den mittleren SE2 Übungsstunden passen würde, habe weder ich noch irgendwer anders für diesen (und nur diesen expliziten programmierfall) 6-12 monate gebraucht und ich würde nicht annähernd so schnell spanisch im debattierclub sprechen, wie ich (auch ohne programmiervorkenntnisse bzw nur einige wenige übungen kompiliert) angenommene 10-15000 zeilen code analysiere, mir zusammenhänge aufzeichne, natürlichsprachlich kommentiere (mit hilfe von c++-lektüre & google & nem informatiker, nach dem er hier fragt), das dabei erlernte umsetze, um die gegebene methode in meine eigene abzuwandeln und wiederum mit hilfe des informatikers sowohl kompilier-fehler als auch (eventuelle) logische fehler auszumerzen

Überhaupt ist so eine Einschätzung ohne Kenntniss des tatsächlichen Aufgabenbestandes unsinnig und kann nur auf Annahmen wie "die BWLer müssen eh nix können" beruhen. Darüber hinaus hat er selbst ja gefragt, ob man ihm eben mal C++ per Crashkurs beibringen kann.
ja zu: mehr als das, was er hier schreibt, weiß ich zur aufgabe nicht…aber ganz deutlich nein zu " die bwler müssen eh nix können"…ganz im gegenteil, er hat sein studium quasi abgeschlossen und sollte damit (wie jeder andere absolvent auch) in der lage sein, sich komplexe sachverhalte anzueignen -> um dies zu beschleunigen, sucht er hier nach hilfe
ich hab viel mehr das gefühl, dass man ihm hier was vom großartigen hexenwerk programmieren verkaufen möchte, was für seine zwecke vollkommen unnötig ist. wenn er freiwillig C++ erlernen möchte, ist es das eine…wenn er seine DA fertig kriegen möchte und dabei keinen höheren anspruch an seine programmierfähigkeiten stellt, dass andere :-)

RE: C++ Hilfe!!!!!!!! 2010-09-23 13:13
Anonymer User
Sorry naizirk, aber ich habe das Gefühl, dass du keine Ahnung hast wovon du redest.

Eine Aufgabe in der "mittleren SE2 Übungsstunde" - hier hast du bereits über ein halbes Jahr Programmiererfahrung hinter dir. Und das mit Java und unheimlich kompetenten Dozenten sowie Übungsleitern und hilfsbereiten Kommilitonen. Ich kenne einen Haufen (vor allem Wirtschafts)Informatiker, die bis heute nach zwei Jahren Studium immer noch keinen deut Programmieren können.

Und wie gesagt - das in Java. C++ ist nicht Java! Wahrscheinlich machst du dir gar keine Vorstellung, was Konstrukte wie Garbagecollector und Co in Java alles für dich abnehmen und wieviel mehr du in C++ alleine beachten musst.


PS. Bin selbst Wiinf, falls jetzt unlautere Bashingvorwürfe erscheinen sollten.

RE: C++ Hilfe!!!!!!!! 2010-09-23 13:23
Anonymer User
Ich hab ja schon gefragt wie viel er zahlen möchte, aber da gabs ja garkeine Antwort drauf. Ist es doch nicht mehr so wichtig?

RE: C++ Hilfe!!!!!!!! 2010-09-23 13:31
Wulf
Bin selbst Wiinf

<nelson> HA HA !! </nelson>

Zum Thema: Wenn er lauffähigen Beispielcode hat, den er nur anpassen muss, reicht eventuell wirklich ein kleiner Crashkurs. Unter der Voraussetzung natürlich, dass er seine Ideen in anderer Form (z. B. mathematisch) versteht und darstellen kann.
Ansonsten gilt mein Hinweis: die Implementierung fremdvergeben, falls es zulässig ist.

RE: C++ Hilfe!!!!!!!! 2010-09-23 13:46
DeLuu
Ich hab ja schon gefragt wie viel er zahlen möchte, aber da gabs ja garkeine Antwort drauf. Ist es doch nicht mehr so wichtig?

Ich würde so nen Zehner pro Stunde zahlen. Und es ist immer noch sehr wichtig, dass das Ganze relativ zeitnah über die Bühne geht. Ich habe einen funktionierenden Beispielcode vom Lehrstuhl bekommen und die Methodik liegt in mathematische Form komplett ausformuliert vor. Und ich verstehe auch was damit passieren soll.

Falls Interesse besteht sich mit mir mal auf einen Kaffee zu treffen, um vielleicht auch den Aufwand der Sache abschätzten zu können, kann man mich eine Nachricht schicken.
Ich bin leider nicht so gut darin den Sachverhalt in korrekter Informatikersprache darzustellen, aber ich denke im direkten Gespräch kann ich präzise erklären wo sich meine Probleme befinden.

RE: C++ Hilfe!!!!!!!! 2010-09-23 13:49
tilo
Ansonsten gilt mein Hinweis: die Implementierung fremdvergeben, falls es zulässig ist.


Ich würde denken, dass das zulässig ist. Schließlich besteht die Aussage seiner DA ja nicht darin, dass er sagt "ich habe hier was in C++ geschrieben". Eine Programmierübung hat ja auch nicht gerade den allerhöchsten wissenschaftlichen Anspruch.
Ich habe z.B. während meiner DA-Zeit ziemlich viel programmiert, aber in der Arbeit selbst stehen da nur die Ergebnisse, jedoch keine Zeile Code (nur etwas Pseudocode). Und ich denke, dass das hier in dem Fall ähnlich ist: sein (von wem auch immer geschriebenes) Programm mit seiner Idee dahinter liefert Ergebnis X, welches er dann in seiner Arbeit verwenden kann ("das implementierte Verfahren liefert X").

RE: C++ Hilfe!!!!!!!! 2010-09-23 14:01
Fred
Wahrscheinlich machst du dir gar keine Vorstellung, was Konstrukte wie Garbagecollector und Co in Java alles für dich abnehmen und wieviel mehr du in C++ alleine beachten musst.
Garbage Collection ist doch langweilig, in C++ hat man die Auswahl zwischen shared_ptr, weak_ptr, intrusive_ptr, scoped_ptr, unique_ptr, auto_ptr, nativen Zeigern und Referenzen [23]

Ich habe einen funktionierenden Beispielcode vom Lehrstuhl bekommen
Kannst Du vielleicht einen sinnvollen Ausschnitt dieses Beispielscodes hier posten, damit man mal eine ungefähre Vorstellung davon hat, was Du lernen bzw. verstehen musst?

RE: C++ Hilfe!!!!!!!! 2010-09-23 16:37
Anonymer User
für nen Zwanni pro Stunde würde ich nen BWLer teachen!!