000
03.11.2003, 22:56 Uhr
~HansMeiser
Gast
|
Hallo,
bin blutiger Anfänger in C++ und muß was darin für die Uni abgeben. Momentan habe ich ziemlich Probleme bei folgenden Sachen:
Ich habe dazu mal den Quellcode dazu geschrieben, damit ihr mir direkt daran erklären könntet, was ich falsch mache (wenn ihr das machen würdet, fänd ich das super).
C++: |
#include <iostream.h> #include "board.h"
board::board(char b[]){ nextCount=0; //*layout=*b; //layout="162803754"; char layout[10] ="262803754"; int verschiebenMatrix[9][5] = {{2,1,3},{3,0,2,4},{2,1,5},{3,0,4,6},{4,1,3,5,7},{3,2,4,8},{2,3,7},{3,4,6,8},{2,5,7}}; }
void board::print() { cout << layout[0] << "\t" << layout[1] << "\t" << layout[2] << "\n"; cout << layout[3] << "\t" << layout[4] << "\t" << layout[5] << "\n"; cout << layout[6] << "\t" << layout[7] << "\t" << layout[8] << "\n"; } void board::calcNext() { for (int i=0;i<9;i++) { if (!layout[i]) { //Anzahl Zugmögl. steht in Matrix[i][0] for (int k=0;k<verschiebenMatrix[i][0];k++) { //Führe die Zuge aus, die in verschiebenMatrix angegeben sind. next[k]=layout; next[k][i]=layout[verschiebenMatrix[i][k+1]]; next[k][verschiebenMatrix[i][k+1]]='0'; nextCount++; } } } }
int main() {
char start[10] ="262803754"; char end[10] ="123405678"; board* b=new board(start); b->print();
} ----------->ENDE QuellCode<-------------- ----------->QuellCode Header-Quellcode<-------------- class board { private: char layout[10]; char next[5][10]; int nextCount; int matixElement[6]; const int verschiebenMatrix[9][5] = {{2,1,3},{3,0,2,4},{2,1,5},{3,0,4,6},{4,1,3,5,7},{3,2,4,8},{2,3,7},{3,4,6,8},{2,5,7}};
public: board::board(char b[]); void print(); void board::calcNext(); }; ----------->ENDE Header-QuellCode<--------------
|
Meine Fragen: 1.) Warum bekomme ich Fehlermeldungen, wenn ich das Array verschiebenMatrix nicht als Const deklariere und in der Quelldatei initialisieren wollen würde. 2.) Wie übergebe ich richtig von der main() in die Funktion board(char b) ein Array. Dabei erhalte ich immer einen Fehler. Mal habe ich was eingetragen, was zu einem Fehler für der mit Pointer zu tun hat, mal eine normal Zuweisungsfehler, das Type nicht kompatibel sind. 3.) Über die Funktion print sollte normalerweise ein Array ausgeben werden, welches eine 3 x 3 Matrix darstellt in deren Punkten Bestimmte Werte eingetragen sind. Diese wird leider nicht angezeigt. Meist wird nur der 1. Wert aus dem Hardcodierten Startzustand start angezeigt. Was machen wir da falsch?
Gibt es eine recht einleuchtende und selbst erklärende Tutorial-Seite, auf der man vor allem das mit Pointern genauer erklärt bekommen kann? Das scheint ja wohl eines meiner Probleme zu sein, vermute ich, doch leider hab ich im Internet immer nur QuellCode gefunden, der alles so darstellt, wie ich ihn auch hier in meiner Datei geschrieben habe.
Wäre also super, wenn jemand von euch, sich mal kurz mit dem Quellcode beschäftigen würde, und mich "auseinander" nimmt. Bitte, bin wirklich ein Anfänger.... Und Bücher und Internetadresse hab ich auch schon gewälzt....
Danke euch
-edit: Pablo. [ cpp ] tags gesetzt -- Dieser Post wurde am 03.11.2003 um 23:20 Uhr von Pablo Yanez Trujillo editiert. |