turm von hanoi
-
loki1985 schrieb:
muss? hört sich nach hausaufgabe an.
gib mal deinen bisherigen code, weil ein komplettes ergebnis wirste nicht kriegen.aber wo liegt das problem? du machst einfach ne schleife die so oft ein stockwerk zeichnet wie eingegeben wurde (so verstehe ich die aufgabe zumindest).
Er muss das Stockwerk nich zeichnen, soweit ich es richtig verstanden habe, er muss lediglich, das Spiel mit Zahlen machen:
1
2
3
4
5
6
.
.
.
-
#include <stdio.h>
#include <iostream.h>using namespace std;
int n;void babel( int z, int d, int wieviel)
{
if (wieviel > 1)
{
babel(z,6-z-d,wieviel-1);
babel(z,d,1);
babel(6-z-d,d,wieviel-1);
}
else
{
cout << z << " --> " << d << "\n";
}
}
int main()
{
cout << "Wie viele elemente wilst du rueber geben?\t";
cin >> n;
babel(1,3,n);
cout << "\n";
}mehr kann ich nicht dass muss je ne sekunde auf dem bilschirm verschoben werden(je ein schritt)
-
Das ist C++ kein C
-
ja ich weiss, dass kann entweder in c oder in c++ geschrieben werden
-
in C++ kenn ich mich nich aus sry
-
Ich bin zwar auch noch recht unbedarft was C an geht, aber einen Sekundetakt kannst du z.B so erstellen:
#include <time.h> // und natürlich was du noch so alles brauchst main() { // keine Ahnung was du hier noch alles machen willst ;-) alt=clock(); while( ? ) // Hier Bedingung zum Abbruch einbauen { now=clock(); // zum Verständnis mal die time.h anschauen if((now-alt)/CLK_TCK>=1) // -"- { alt=clock(); // hier kannst du jetzt die Funktionen einbauen, // die sekündlich ablaufen sollen } } return 0; }
-
oder dei Funktion _sleep(Millisekunden)
Wobei Millisekunden die Wartezeit aussagt
-
Lyrix schrieb:
oder dei Funktion _sleep(Millisekunden)
Wobei Millisekunden die Wartezeit aussagt
jup, ist aber winapi. geht also nur wenn er auf win codet. aber das könnte man schon annehmen....
-
danke ich wer das implementieren und ausprobieren
nochmals dank
-
loki1985 schrieb:
Lyrix schrieb:
oder dei Funktion _sleep(Millisekunden)
Wobei Millisekunden die Wartezeit aussagt
jup, ist aber winapi. geht also nur wenn er auf win codet. aber das könnte man schon annehmen....
Naja wenn es nen Schulprojekt ist, denek ich schon dass er unter Windows programmiert
-
also das ganze problem musst du rekursiv angehen. du hast drei plaetze
A B C
zuerst legst du die erste scheibe von a nach b dann die naechste auf c dann wieder die von b auf c und dann eine weitere von a nach b und dann die beiden von c auf b dann kannste waenn du willst die von b wieder auf c legen oder auch die neue scheibe auf c...
-
find besser erstmal raus, wie du einen 5er turm per hand umschichtest. dann hast du auch im programm den durchblick. vorher sollte das programm aber anzeige und manuelle steuerung beherrschen, bevor es etwas selber loesen kann.