hey leute, wir müssen für die Uni etwas programmieren.
wir sollen so ein blödes Karo machen aus * Zeichen in C++
Ich habs zwar hinbekommen, doch der Prof meinte, wir sollen das mit Funktionen machen. Vielleicht hat jmd. ja nen Plan, wie das gehen soll.
Das mit dem Datum habe ich aber hinbekommen.
Seite 1 von 1
Funktion Zum Zeichnen Eines Karos In C++
Anzeige
#2
geschrieben 21. Juni 2005 - 13:30
vielleicht zeigst du uns mal wie du das hingekriegt hast?
Normalerweise würde ich sagen, dass du deinen Code in der main in ne Funktion auslagern sollst. Und dann noch schön parametrisieren
Normalerweise würde ich sagen, dass du deinen Code in der main in ne Funktion auslagern sollst. Und dann noch schön parametrisieren
#3
geschrieben 21. Juni 2005 - 13:35
Zitat
int stern_hauptfunktion ()
{
cout << "Bitte Zahl eingeben, es wird dann ein Stern gezeichnet: ";
int ganze_zahl; cin >> ganze_zahl;
if ((ganze_zahl > 0) && (ganze_zahl < 40))
{
for (int i = 1; i <= 2 * ganze_zahl - 1; i++)
{
if (i <= ganze_zahl)
{
for (int x = 1; x <= ganze_zahl - i; x++)
{
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++)
{
cout << "*";
}
}
else
{
for (int y = 1; y <= i - ganze_zahl; y++)
{
cout << " ";
}
for (int k = 1 ; k < 2 * (ganze_zahl) - 2 * (i - ganze_zahl ); k++)
{
cout << "*";
}
}
cout << endl;
} // END for
}
else
{
cout << "hey, so geht das awwa nidd :-)" << endl;
}
}
{
cout << "Bitte Zahl eingeben, es wird dann ein Stern gezeichnet: ";
int ganze_zahl; cin >> ganze_zahl;
if ((ganze_zahl > 0) && (ganze_zahl < 40))
{
for (int i = 1; i <= 2 * ganze_zahl - 1; i++)
{
if (i <= ganze_zahl)
{
for (int x = 1; x <= ganze_zahl - i; x++)
{
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++)
{
cout << "*";
}
}
else
{
for (int y = 1; y <= i - ganze_zahl; y++)
{
cout << " ";
}
for (int k = 1 ; k < 2 * (ganze_zahl) - 2 * (i - ganze_zahl ); k++)
{
cout << "*";
}
}
cout << endl;
} // END for
}
else
{
cout << "hey, so geht das awwa nidd :-)" << endl;
}
}
dieser ganze Quaak sollte laut dem Prof nun in Funktionen unterteilt werden.
Eine Funktion, die eine Anzahl Zeichen ausgibt und dann noch eine, die eine beliebige Anzahl Leerzeichen und Sternchen ausgibt.
siehe auch Aufgabenberschreibung.....
das wird irgendwie total kompliziert....
#4
geschrieben 21. Juni 2005 - 13:41
void printkaro(int n); { ansistring s; int i; int j; for (i=1;i<2*n;i++) { s = ""; for (j=1;j<=n-i;j++) s+=" "; for (j=1;j<2*i;j++) s+="*"; printf(s); } }
#5
geschrieben 21. Juni 2005 - 13:43
Vielleicht verrätst du uns erst mal die genaue Aufgabenstellung...
Edit: Hat sich erledigt, während ich noch eine Antwort getippt hab, hat normanbauer schon die optimale Lösung gepostet...
Edit: Hat sich erledigt, während ich noch eine Antwort getippt hab, hat normanbauer schon die optimale Lösung gepostet...
Dieser Beitrag wurde von deglerj bearbeitet: 21. Juni 2005 - 14:04
#6
geschrieben 21. Juni 2005 - 14:37
Die hier ist optimaler:
#define a(b,c,d) for(int b;c;d) void printkaro(int n){a(i,++i<2*n,puts(s),a(j,++j<2*i,s+=42),a(j,j++<n-i,s+=30),string s);}

Dieser Beitrag wurde von Rika bearbeitet: 21. Juni 2005 - 14:40
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)

Ja, mata ne!
(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
#7
geschrieben 21. Juni 2005 - 23:07
@Rika: hmm bei deiner Lösung verstehe ich gar nix! Ist das wirklich ernsthaft gemeint?
@normanbauer: Dein Code spuckt mir nur ein paar Fehlermeldungen aus. Ansichar gibts nicht. Haste auch wirklich C++ Code?
Übrigens: Ich habs inzwischen selbst hinbekommen, war gar nicht so schwer. Danke nochmal!
@normanbauer: Dein Code spuckt mir nur ein paar Fehlermeldungen aus. Ansichar gibts nicht. Haste auch wirklich C++ Code?
Übrigens: Ich habs inzwischen selbst hinbekommen, war gar nicht so schwer. Danke nochmal!
Dieser Beitrag wurde von andreasm bearbeitet: 21. Juni 2005 - 23:07
#8
geschrieben 22. Juni 2005 - 07:30
Kommt drauf an was du für ne IDE benutzt. Manche unterstützen ansistring nicht. Kann aber auch an Groß/Kleinschreibung liegen, da es eigentlich AnsiString heißt

#9
geschrieben 02. Juli 2005 - 19:36
Ich habe das nun selbst umgeschrieben und die Übung auch schon zurückbekommen: 19 von 20 erreichbaren Punkten. Damit bin ich ganz zufrieden :-)
Thema verteilen:
Seite 1 von 1