000
08.03.2005, 14:33 Uhr
sf
|
Huhu.. Habe generell kein Problem mit der for-Schleife, aber hab hier ne Aufgabe wo ich irgendwie keinen logischen Ansatz finde.. Mir ist zwar schon klar, wie ich das machen müsste mit for-schleifen, aber irgendwie bekomm ichs net hin :/ vielleicht kann ja jemand helfen:
1. Die Aufgabe:
Erstellen Sie ein Programm, welches nach Eingabe der Höhe ( hoehe ) und des Zeichens ( zeichen ) eine Raute aus eben jenem Zeichen erstellt, welche die angegebene Höhe hat.
Benutzen Sie nur for-Schleifen sowie cout.
2. Mein Ansatz: Ihr wisst ja wie ne Raute aussieht^^
Okay.. Ich mache also erstmal ne for-Schleife:
C++: |
for ( int i = 1; i <= hoehe; i++) // Damit zeichne ich die Zeilen... { /* hierein muss wieder ne for-schleife.. bis zur "mitte" das ist kein problem.. aber wie sag ich ihm das er danach plötzlich wieder "rückwärts" rechnet? ich kann ja die raute in 4 dreiecke aufteilen, welche ich ja recht leicht mit for-schleifen zeichnen kann.. nur ich bekomms net gebacken das die hinternander liegen :/
*/
|
Bin für jede Hilfe dankbar!
Die nächste Aufgabe:
Erstellen Sie ein Programm, welches ein Rechteck oder ein Dreieck mit beliebiger Höhe und Breite zeichnet.
Funktionen die genutzt werden dürfen: if, switch, for, cout, cin
Sonderaufgabe: Schreiben Sie das Programm erneut, so dass es möglichst klein ist mit den genannten Funktionen. Versuchen Sie unnötige Dinge wegzulassen!
Mein Ansatz:
Klar.. Erst ne Switch Abfrage ob Dreieck oder Rechteck.. und dann mit for-schleifen zeichnen. ist ja generell simpel^^ Rechtecke ist leicht mit 2 fors und dreieck auch.. aber was kann ich daran jetzt noch verbessern?
Mein Code:
C++: |
int auswahl,i,k,hoehe,breite; cin >> auswahl; cin >> hoehe; cin >> breite; switch(auswahl) { case 1: for (i=1;i<=hoehe;i++) { for (k=1;k<=breite;k++) { cout << "*"; } cout << "\n"; } break; case 2: for (i=1;i<=hoehe;i++) { for (k=1;k<=i;k++) { cout << "*"; } cout << "\n"; } break; default: cout << "falsche eingabe..\n"; }
|
Nächste Aufgabe:
Erstellen Sie, wenn möglich, ein Programm, welches nach Eingabe der Eckenzahl ein Vieleck mit besagter Eckenzahl zeichnet. Eine Seite des Vielecks soll ebenfalls angegeben werden. (Alle Seiten sind gleich lang!)
Nutzen Sie nur: for, if , switch, cout, cin
Hmm.. Also 3Eck ist klar.. 4 Eck ist auch klar.. Danach wirds kniffelig.. Gibt es so ne "Formel"? mit "wenn möglich" meint der Lehrer immer wir sollen halt prüfen obs möglich ist mit den Möglichkeiten die wir haben und wenn nicht begründen warum...
hmm :/ |