Forum
Tipps
News
Menu-Icon

C++, schwierige Schulaufgabe

Bestimmen Sie die Aussage des nachfolgenden C++-Programms:

main()
{
   for(int i = 0; i < 100; i++)
   {
       if (i == 74) break;
       if (i % 9 != 0) continue;
       cout << i << endl;
   }
   int i = 0;
   while (true)
   {
       i++;
       int j = i * 30;
       if (j == 1260) break;
       if (i % 10 !=0) continue;
       cout << i << endl;
   }
}

Ich sitz schon ewigkeiten an dieser aufgabe und ich weiss echt nicht mehr weiter! So gross sind meine Fachkenntnisse noch nicht!
Kann mir jemand bei dieser aufgabe helfen??? wäre echt super!!!
Danke im vorraus...

Greetz Dom


Antworten zu C++, schwierige Schulaufgabe:

Moin....

Hat auf jeden Fall irgendwas mit Teilern zu tun...

Nur so als Tipp!

Gruss Daddy

mit Teilern? Was bedeutet das? hab ich noch nie gehört! Aber danke schonmal für deine Antwort!

Greetz Dom

Nunja schau dir doch einfach mal an, was mit i gemacht wird .


Von mir ein weiterer Tip, es geht um For und While schleifen und Abbruchbedinungen.

Also, ich versuchs mal...

1. i ist gleich 0 --> solange wie i kleiner 100 ist soll i um 1 hochgesetzt werden.

2. wenn i gleich 74 ist, dann unterbreche die Anweisung.

3. if (i % 9 != 0) continue; <-- ???

4. ausgabe i

5. initialiserung i gleich 0

6. i + 1

7. j ist gleich i mal 30

8. wenn j gleich 1260, dann unterbreche die Anweisung

9. if (i % 10 !=0) continue; <-- ???

10. Ausgabe i

END


also mit den zeilen 3 und 9 kann ich gar nichts anfangen!
das continue verstehe ich ja, aber was macht die anweisung "i % 10 !=0" ???

Bitte noch ein paar tips! vielleicht komm ich ja dann drauf!

Greetz Dom

« Letzte Änderung: 21.09.06, 16:39:36 von Dom2805 »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hurra, was tut man nicht alles in schlafenlosen Nächten  ;)
also...
Du hast 2 voneinander vollkommen unabhängige Schleifen, zuerst wird die for-Schleife, dann die while-Schleife durchlaufen...
Ich geb hier mal den Ansatz für die for-Schleife, für die andere kannst du es dir dann selbst überlegen:

1. i wird mit 0 initialisiert (dieses i ist auch nur gültig innerhal der for - schleife), die schleife soll (theoretisch laufen bis i < 100 (also höchstens 99), i erhöht sich pro schleifendurchlauf um 1 (zeigt das i ++)
2. pro schleifendurchlauf wir per if-Anweisung geprüft:
   ist i = 74 ? Wenn ja, abbruch der gesamten schleife,
   ist (i % 9 != 0) sprich ist i modulo 9 ungleich 0 ? wenn ja, sprung direkt in die for-schleife, i wird um 1 erhöht und das selbe spiel von vorn, wenn i % 9 doch gleich 0, ausgabe von i in der Konsole! (und zwar nur dann !!!!)
3. deine ausgabe wird also für die for-schleife alles was durch 9 (ohne rest) teilbar ist ausgeben, bis zur 72, weil bei 74 is ja abbruch!
Und das wars auch schon.
Ob jetzt die Null auch mit ausgegeben wird (ich erinnere i = 0 initialisiert) und was die while-schleife ausgibt, darst jetzt aber getrost selber überlegen, das Prinzip ist das selbe!


« Delphi???Wer schreibt mir ein kleines Programm zur Rundenzeitmessung? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Domain
Ein Internetadresse, zum Beispiel http://www.computerhilfen.de ist folgendermaßen aufgebaut: Zuerst wird das Protokoll (das man beim Surfen auch weglassen kann) ang...

Formatieren
  Das Formatieren einer Festplatte, HDD oder SSD bereitet das Laufwerk auf neue Daten vor. Dazu werden sämtliche alten Daten gelöscht, damit die...

Generations-Prinzip
Das Generations-Prinzip wird auch als das "Opa-Vater-Sohn-Prinzip" bezeichnet. Dieses Rotationsschema zur Speicherung von Daten ist eine überschreibende Datensicheru...