Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » "Zeichnen" mit der for-Schleife... Anfängerprobs

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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 :/
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.03.2005, 14:38 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


mit hilfe dieser beiden threads solltest du das eigentlich hinbekommen

www.fun-soft.de/showtopic.php?threadid=3297&time=1110288962
und
www.fun-soft.de/showtopic.php?threadid=3316&time=1110288962
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.03.2005, 14:49 Uhr
sf



Danke erstmal.. Sind ja schonmal ganz gute Ansätze, aber vorallem bei der letzten Aufgabe hilft mir das doch recht wenig..
Und viel da ist in C geschrieben :/
Also das Dreieck bekomm ich nun hin..
Aber die letzte Aufgabe ist mir immernoch ein Rätsel..
Da muss ich ja quasi ne for-schleife bauen die für alle x-Ecke funktioniert o_O
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.03.2005, 16:55 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hmm also spontan fällt mir dazu auch nciht soviel ein mit den vielecken...

man könnte sich vielleicht überlegen welche anzahl ecken geradengleichungen man braucht und dann beim zeichen gucken ob ein punkt auf einer der geraden liegt und dann ggf zeichnen...
für nen schüler ne ziemlich heftige aufgabe finde ich..
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.03.2005, 17:24 Uhr
enno-tyrant
Frag nicht!


ich würde dies mit mit einem 2d-array lösen. müßte dazu aber ein dynamisches 2d-array erstellen. hab nur keine ahnung wie
--
...um etwas zu verstehen muß man wissen wie es funktioniert...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.03.2005, 17:27 Uhr
sf



Arrays darf ich nicht nutzen
auch keine strings btw nur char
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.03.2005, 15:03 Uhr
sf



Hab die Raute jetzt fertig...


C++:
#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
    int i, j, hoehe, abstand,k,l;
    cout << "Bitte geben Sie die Hoehe an:\t";
    cin >> hoehe;
    cout << "Bitte geben Sie den Abstand vom Rand an:\t";
    cin >> abstand;
    for (i=1; i <= hoehe; ++i)
    {
        cout.width(abstand);
        for (k=hoehe; k >= i; --k)
        {
            cout << " ";
        }    
        for (j=1; j <= i; ++j)
        {
        cout << "*";
        }    
        
        
        for (l=1; l<= i; ++l)
        {
            cout << "*";
        }    
    cout << "\n";
    }  
    for (i=hoehe; i>=1; i--)
    {
        cout.width(abstand);
        for (k=hoehe; k>=i; --k)
        {
            cout << " ";
        }    
        
        for ( l=1; l<=i; ++l)
        {
            cout << "*";
       }    
       for ( j=1; j<=i; ++j)
       {
           cout << "*";
       }    
     cout << "\n";  
    }    
          
  system("PAUSE");
  return 0;
}



Was kann ich daran noch verbessern/verkürzen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: