Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » tuerme von hanoi

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 ] > 2 <
010
03.05.2004, 17:00 Uhr
Pablo
Supertux
(Operator)


Was genau machen die Funktionen turmeins, turmzwei und turmdrei?
Und was machet scheibeeins(a) usw? Vielleicht liegt er datan und nicht am Algorithmus (sofern du das mit den i<10 geändert hast)
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
03.05.2004, 17:05 Uhr
KaraHead



poste doch einfach den gesamten Quelltext
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
03.05.2004, 17:26 Uhr
~noob
Gast



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

using namespace std;

int a,b;

int nr;

int scheibeeins(int a)
    {
    for (a=10; a<=12; a++)
        {
        gotoxy(a,3);
        cout << "1";
        }
    }

int scheibezwei(int a)
    {
    for (a=9; a<=13; a++)
        {
        gotoxy(a,5);
        cout << "2";
        }
    }
    
int scheibedrei(int a)
    {
    for (a=8; a<=14; a++)
        {
        gotoxy(a,7);
        cout << "3";
        }
    }
    
int turmeins(int a)
    {
    gotoxy(11,2);
    cout << "1";
    for (a=3; a<=7; a++)
        {
        gotoxy(11,a);
        cout << char(219) << "\n";
        }
    }
    
int turmzwei(int a)
    {
    gotoxy(21,2);
    cout << "2";
    for (a=3; a<=7; a++)
        {
        gotoxy(21,a);
        cout << char(219) << "\n";
        }
    }

int turmdrei(int a)
    {
    gotoxy(31,2);
    cout << "3";
    for (a=3; a<=7; a++)
        {
        gotoxy(31,a);
        cout << char(219) << "\n";
        }
    }

int spiel(int c,int b)
    {
    int i;
    for(i = 0; i == 4; i++)
        {
        gotoxy(1,18);
            {
            turmeins(a);
            turmzwei(a);
            turmdrei(a);
            
            scheibeeins(a);
            scheibezwei(a);
            scheibedrei(a);
            
            gotoxy(1,20);
            {
                 cout << "scheibe:  ";
                 cin >> b;
                 cout << "auf Turm: ";
                 cin >> c;
            }
                        
            if (c==1) a = a + 10;
            if (c==2) a = a + 20;
            if (c==3) a = a + 30;
            
            if (b==1) scheibeeins(a);
            if (b==2) scheibezwei(a);
            if (b==3) scheibedrei(a);
            
            }
        }
    }
    
int main(int argc, char *argv[])
{
  spiel(a,b);

  gotoxy(1,20);
  system("PAUSE");    
  return 0;
}



bidde

Dieser Post wurde am 03.05.2004 um 19:11 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
03.05.2004, 19:45 Uhr
~noob
Gast


kennt sich jemand mit 2d-arrays aus?


Code:
string tuerme[3,3];
tuerme[1,1] = klein;

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.05.2004, 20:02 Uhr
RedEagle



Ich denke mir als 2D Array eine tabelle:

0,0 0,1 0,2 0,3
1.0 1,1 1,2 1,3
2,0 2,1 2,2 2,3
3,0 3,1 3,2 3,3
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
03.05.2004, 20:31 Uhr
(un)wissender
Niveauwart


Die folgende Schleife wird nie durchlaufen, weil i immer 0 ist, wie du es besser machen kannst wurde schon gesagt

C++:
for(i = 0; i == 4; i++);



Auf ein statisches zweidimensionales Array greift mal so zu (erst die Deklaration):

C++:
string tuerme[3][3];
tuerme[1][1] = klein;



die Türme von Hanoi iterativ zu berechen nenn ich mal eine Aufgabe, mach das besser rekursiv.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
03.05.2004, 20:39 Uhr
~noob
Gast


ja schön, aber wie?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
03.05.2004, 22:34 Uhr
~noob
Gast



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

using namespace std;

// ab hier variablen deklaration

string tuerme[3][3];
string kmg, entferneturm, auswahlscheibe, turmauswahl, klein, mittel, gross;
int a,b;

// bis hier

tuerme[1][1] = klein;
tuerme[1][2] = mittel;
tuerme[1][3] = gross;

int scheibeeins(int a)          // Funktion zum zeichnen der ersten Scheibe
    {
    for (a=10; a<=12; a++)
        {
        gotoxy(a,3);
        cout << "1";
        }
    }

int scheibezwei(int a)          // Funktion zum zeichnen der zweiten Scheibe
    {
    for (a=9; a<=13; a++)
        {
        gotoxy(a,5);
        cout << "2";
        }
    }
    
int scheibedrei(int a)          // Funktion zum zeichnen der dritten Scheibe
    {
    for (a=8; a<=14; a++)
        {
        gotoxy(a,7);
        cout << "3";
        }
    }
    
int turmeins(int a)          // Funktion zum zeichnen des ersten Turms
    {
    gotoxy(11,2);
    cout << "1";
    for (a=3; a<=7; a++)
        {
        gotoxy(11,a);
        cout << char(219) << "\n";
        }
    }
    
int turmzwei(int a)          // Funktion zum zeichnen des zweiten Turms
    {
    gotoxy(21,2);
    cout << "2";
    for (a=3; a<=7; a++)
        {
        gotoxy(21,a);
        cout << char(219) << "\n";
        }
    }

int turmdrei(int a)          // Funktion zum zeichnen des dritten Turms
    {
    gotoxy(31,2);
    cout << "3";
    for (a=3; a<=7; a++)
        {
        gotoxy(31,a);
        cout << char(219) << "\n";
        }
    }
    
turmeins=kmg;

int spiel(int a,int b)          // Funktion die das eigentliche spiel enthalten soll
    {
    gotoxy(1,18);
        {
        do
        {
        cout << "von welchem turm wollen sie die scheibe nehmen?";
        cin >> entferneturm;
        
        cout << "welche scheibe";
        cin >> auswahlscheibe;
        
        leer = tuerme[entferneturm][auswahlscheibe];
        
        
        cout << "turmauswahl";
        cin >> auswahlturm;
        
        auswahlscheibe = tuerme[turmauswahl][auswahlscheibe];
        }
        while(turmdrei==kmg);  
        }
    }
int main(int argc, char *argv[])
{
  turmeins(a);          // aufruf der Funktion "turmeins"
  turmzwei(a);          // aufruf der Funktion "turmzwei"
  turmdrei(a);          // aufruf der Funktion "turmdrei"

  spiel(a,b);           // aufruf der Funktion "spiel"

  gotoxy(1,20);
  system("PAUSE");    
  return 0;
}



hilfe ich komm net weiter.
soll tuerme von hanoi mal werden

Dieser Post wurde am 04.05.2004 um 00:59 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
03.05.2004, 23:56 Uhr
(un)wissender
Niveauwart


Nur mal so: du weisst kgm niemals einen Wert zu, also was soll der Vergleich bringen?
Wo ist die Variable turmdrei definiert? (Eine Funktion gibt es...)
Nutze besser keine globalen Variablen...
Außerdem solltest du dein ganzes Design umbauen, so wird das nie was.

Compiliere erstmal, um zu sehen, ob du noch Fehler syntaktischer Art hast.
Und: Warnings sind deine Freunde.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


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: