Beiträge von Adok

    Wenn ich dich richtig verstanden habe, besteht dein Problem darin, dass sich die class-Datei selbst ersetzen soll. Die Lösung besteht darin, zwei getrennte class-Dateien, eine für den Updater und eine für das eigentliche Spiel, anzulegen.

    Ich habe mit einem israelischen Mädchen gechattet und sie gefragt, wie es in Israel sei: Worauf stehen die israelischen Mädchen - Liebe, Romantik,...? Sie antwortete: "Vergiss es. Du kannst einem israelischen Mädchen nur imponieren, wenn du entweder mindestens 300 Araber erschossen oder viel Geld hast."

    Vielleicht ist diese Einstellung darauf zurückzuführen, dass die israelischen Mädchen zwei Jahre Dienst beim Heer leisten müssen.

    Nein. Sie wollen, daß er schlecht verdient, die Kinder vernachlässigt und schlägt, unfreundlich soll er sein, im Haushalt am besten keinen Finger rühren und die Frau alle Einkäufe schleppen läßt. Alkoholiker und Kettenraucher sollte er auch noch sein.

    Warum stellst Du so blöde Fragen? Ist das ein Trollversuch?

    Jensi, du bist zwar ein intelligenter Mensch, aber du verstehst die Frauen nicht. :coolsmile: Die wollen sehr wohl über diese Dinge diskutieren. Für die Männer ist es auch nicht schlecht, wenn sie erfahren, wie Frauen denken.

    Mich würde interessieren, was die jungen Frauen von heute von ihrem Partner tatsächlich erwarten. Soll er gut verdienen? Soll er sich um die Kinder kümmern und ihnen eine gute Ausbildung ermöglichen? Soll er lieb oder hart sein? Soll er im Haushalt mithelfen und sich um Erledigungen kümmern? Usw.

    In den letzten Jahren habe ich immer wieder geträumt, dass ich wieder die Schulbank drücken würde und an meinem Gymnasium Post-graduate-Kurse belegt hätte. Diese Kurse wären wie normaler Unterricht, aber ohne Anwesenheitspflicht. Es gäbe Prüfungen, und jedes Jahr müssten wir die Matura wiederholen. Einmal träumte ich, dass wir im Informatikunterricht Turingmaschinen durchnähmen.

    Lustig wäre es, hätte & eine höhere Präzedenz als >. Dann würde der Ausdruck a > b & b > c so ausgewertet, dass zuerst b & b berechnet würde, dann b > c (= d, true [1] oder false [0]) und zum Schluss a > d. Dann würde a > d in fast allen Fällen stimmen (außer wenn a gleich 0 oder 1 wäre, dann käme es auf den Wert von d an), und es könnte sein, dass auch c > a stimmen würde.

    Zum Beispiel:

    ok, aber das brauche ich doch nicht, wenn ich nur kontrollieren will ob die eingabe korrekt ist oder? Das soll ich ja mit der ersten schleife erreichen, dass kontrolliert wird ob die eingabe eine zahl ist...

    Dafür verwendet man nicht while, sondern if. Aber streng genommen kannst du auf diese Weise gar nicht kontrollieren, ob die Eingabe eine Zahl ist. Wenn der Benutzer "Hallo" eingibt, ergibt scanf ("%d", &n), dass n der Wert 0 zugewiesen wird. Um wirklich zu checken, ob der Benutzer eine Zahl eingegeben hat, musst du die Eingabe als String einlesen und dann überprüfen, ob sich der String verlustfrei in eine Zahl und dann zurück in einen String konvertieren lässt.

    wieso wird denn im moment immer bei system ("pause") ein fehler angezeigt???


    Das weiß ich nicht, aber ich würde dir empfehlen, statt dessen getch () zu verwenden. Das ist eleganter.

    Dieser Code wird aus einigen Gründen nicht funktionieren.

    1. Die Zeile

    Code
    scanf("%d \ n", n);


    ist fehlerhaft. Richtig wäre:

    Code
    scanf("%d", &n);

    2. Was macht der Code? Er liest ganze Zahlen ein, solange sie größer als 0 sind, und speichert sie in der Variablen n ab. Dadurch wird die Variable n immer wieder überschrieben. Somit wird am Ende nur die letzte Zahl gespeichert. Wenn du aber alle Zahlen haben willst, musst du einen Array verwenden. Z.B.:

    Code
    int n [10];
    int c = 0;
    do
    {
      scanf ("%d", &n [c]);
      c++;
    } while (n > 0 && c < 10);

    Damit werden zehn Zahlen eingelesen und gespeichert.

    Interessant(er) ist ja die Frage, wie ein int-zu-char-Cast gehandhabt wird. Ich habe es mal, da ich auf diesem Computer keinen C/C++-Compiler installiert habe, mit Digital Mars D ausprobiert:

    Das Ergebnis war 255, also wurde das Lo-Byte genommen. Ist es im ANSI-Standard festgelegt, dass immer das Lo-Byte genommen wird, oder ist es von der Implementierung abhängig? (Ich könnte mir vorstellen, dass es von der Architektur - Big Endian vs. Little Endian - abhängig sein könnte.)

    Willst du wissen, wie eine do-while-Schleife funktioniert?

    Code
    do
    {
      [I]Anweisungen[/I]
    } while ([I]Bedingung[/I])

    Z.B.:

    Code
    int i = 1;
    do
    {
      printf ("%d. Ich bin cool!\n", i);
      i++;
    } while (i <= 1000);

    Dasselbe könntest du auch mit einer while-Schleife erreichen:

    Code
    int i = 1;
    while (i <= 1000)
    {
      printf ("%d. Ich bin cool!\n", i);
      i++;
    }

    Oder mit einer for-Schleife:

    Code
    for (i = 1; i <= 1000; i++)
     {
       printf ("%d. Ich bin cool!\n", i);
     }

    Jede do-while-Schleife lässt sich in ein Konstrukt mit einer while-Schleife umwandeln. In manchen Fällen ist aber eine do-while-Schleife eleganter, z.B.:

    Code
    int i = 1;
    do
    {
      printf ("%d. Ich bin cool!\n", i);
      i++;
    } while (i < 1);

    In diesem Fall würdest du unter Verwendung einer while-Schleife schreiben:

    Code
    int i = 1;
    printf ("%d. Ich bin cool!\n", i);
    while (i < 1)
     {
       printf ("%d. Ich bin cool!\n", i);
       i++;
     };

    Du müsstest also die printf-Anweisung zweimal in deinen Programmcode einbauen.

    Jede while-Schleife lässt sich auch durch eine for-Schleife emulieren und umgekehrt. In C ist die for-Schleife nur "syntactic sugar" für eine while-Schleife plus Initialisierung.

    Du könntest auch auf alle Schleifen pfeifen und nur goto verwenden. Davon wird aber im Allgemeinen abgeraten, weil der Programmcode unübersichtlich wird ("Spaghetti-Code").

    Noch viel Spaß beim Programmieren!

    muchisimo gracias a todos! :thumb:

    ...ist mir zwar komplett neu, dass man so casten kann aber es funktioniert

    Da eine int-Variable alle möglichen Werte einer char-Variablen annehmen kann, brauchst du nicht explizit auf int zu casten. Du musst nur, wie Plantschkuh gesagt hat, auf unsigned char casten, damit die char-Variable nicht als vorzeichenbehaftete Zahl interpretiert wird.

    Wenn der Arbeitgeber aber einen P-Algorithmus will, und du dann einen NP ablieferst, ist dein Algo nicht in einer Teilmenge von P, sondern umgekehrt.

    Wenn dein Arbeitgeber einen NP fordert, wird er nix dagegen haben, wenn dein Algo in P läuft.

    Wolfibolfi, ein solches Posting hätte ich nicht von dir erwartet :winking_face:

    Informatikerbeispiel: Wenn der Arbeitgeber dir nen Auftrag gibt einen Algorithmus zu entwickeln unter polynomieller Laufzeit und du weißt, dass er unter die NP-Kategorie fällt, bist auch nicht du Schuld und wirst entlassen...

    Da P eine Teilmenge von NP ist, fällt jeder Algorithmus mit polynomieller Laufzeit unter die NP-Kategorie! Du meintest wohl "unter die Kategorie NP-vollständig".