Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

03.04.2011, 10:19

problem bei aufg. von kapitel 3.10 listing 3.8

hey leute ich hab zu diesem thema kein angefangenes thema gefunden also eröffne ich mal eins:
also ich hab ein problem mit der aufgabe im kapitel 3.10 und bräuchte hilfe
hier ist die lösung aus dem buch:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// C++ für Spieleprogrammierer
// Listing 3.8
// Lösungsvorschlag zur Aufgabe in Kapitel 3
//
#include <iostream>

using namespace std;

// Hauptprogramm
//
int main ()
{
    // Variablen
    //
    int CountdownStart; // Startwert des Countdown

    // Abfrage des Startwertes
    cout << "Startwert des Countdowns: ";
    cin >> CountdownStart;

    // Bei geradem Wert das Programm verlassen
    if (CountdownStart%2 == false)
    {
        cout << "Es wurde ein gerader Wert eingegeben " << endl;
    }
    // Ansonsten weiter
    else
    {
        // Schleife für den Countdown
        for (int i=CountdownStart; i>=0; i--)
        {
            cout << "Countdown: " << i << endl;

            // Meldung, wenn die Hälfte erreicht wurde
            if (i == CountdownStart/2 + 1)
                cout << "Die Haelfte ist vorbei" << endl;
        }
    }

    return 0;
}


ich hoffe das mit dem code einfügen hat geklappt

grundsätzlich sah meine lösung auch so aus aber ich habe nicht verstanden wie man die geraden zahlen wegmacht mit: (CountdownStart%2 == false)
und wie man die hälfte bestimmt mit: (i == CountdownStart/2 + 1)
hatte vllt jmd. die selben probleme (ich will nich der einzige dumme sein der das nich kann)
und kann mir jmd helfen??? das wäre echt nett

Chiller

Frischling

Beiträge: 22

Wohnort: NRW

  • Private Nachricht senden

2

03.04.2011, 10:39

Nun der % Operator teilt ja mit rest, wie du ja gelesen hast. Somit ergibt 2%2 = 0 , 4%2 = 0 usw. 0 Bedeutet für einen Computer false und somit kannst du das per false abfragen == 0 würde ebenso gehen, aber ich denke mal die Aufgabe sollte einfach verdeutlichen, dass 0 false ist.

Naja und die Hälfte bekommt man bei dem Zahlen wert indem man ihn durch 2 rechnet, wofür genau die +1 steht dann wohl dafür das bei 11 Beispielsweise die Hälfte nach 6 kommt, also zwischen 6 und 5 steht, denn bei 11/2 kommt bei einem Integer 5 raus und deswegen wird das wohl um 1 erhöht
~

3

03.04.2011, 10:45

danke das war mir echt ne hilfe da fühlt man sich gleich nich mehr ganz so dumm :D

Werbeanzeige