Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Turing Maschine probleme mit übergabe von parametern an 2d feld

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
14.04.2008, 12:32 Uhr
~elTurko
Gast



C++:
void UebertragungsFunktion::readTable(char *fname) /
{
    char zeile[10]; //s.o.
  
    fstream datei;
    datei.open(fname, ios::in);
  

    if(!datei.is_open())
    {
        cout<<"Datei konnte nicht geoeffnet werden"<<endl;
    }
    else
    {
        datei.getline(zeile, 5);  
        anzZust = (int) zeile[0] - 48; //
        anzEing = (int) zeile[2] - 48;
        matrix = new UebertragungsFunktionsElement* [anzZust];                // dyn array von zeigern
        eingabeZeichen = new char [anzEing];
      
        //matrix
        //Zeile
        for (int iZeile = 0; iZeile < anzZust; iZeile++)
        {  
            char a = ' ', b = ' ';
            int f=0;
            datei.getline(zeile, 10);    // Zeile einlesen
          

            // an jeden Zeiger ein array anlegen
                  matrix[anzZust] = new UebertragungsFunktionsElement[anzEing];
          
            //Spalte
            for ( int iSpalte = 0; iSpalte < anzEing; iSpalte++)
            {
                eingabeZeichen[iSpalte] = zeile[1];
                a=zeile[4];
                b=zeile[6];
                f=zeile[8];
                matrix[iZeile][iSpalte].set(a, b, f); /
                //Hier taucht das Problem auf "matrix 0x...{ausgabezeichen=???...} ...
                //Fehler Ausdruck kann nicht ausgewertet werden.
                //Wahrscheinlich hat er mit der Initialisierung probleme
            }
        }
    }
}


Dieser Post wurde am 14.04.2008 um 14:26 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.04.2008, 12:34 Uhr
~elTurko
Gast


so sieht die tabelle aus:


Code:

3 3

1 0 0 R 1

1 1 1 R 1

1 # # L 2

2 0 1 L 3

2 1 0 L 2

2 # 1 L 3

3 0 0 L 3

3 1 1 L 3

3 # # L 0



in der ersten zeile steht die anzahl zustände und die anzahl eingabe-zeichen. jede folgende zeile hat den aufbau:
zustand, eingabe zeichen, ausgabe zeichen, bewegung s/l kopf, folgezustand
wobei das einlesen der werte ja nicht das problem darstellt erst wenn ich die werte der matrix übergeben will tauchen die probleme auf.

Dieser Post wurde am 14.04.2008 um 14:26 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.04.2008, 14:10 Uhr
Th



Du hast den falschen Matrix-Index verwendet:

C++:
matrix[iZeile] = new UebertragungsFunktionsElement[anzEing];



P.S. Zum Einlesen solltest du entweder std::string oder besser noch den Stream-Operator >> verwenden:

C++:
datei >> anzZust >> anzEing;


So brauchst du nicht erst noch von char nach int konvertieren und dies klappt auch bei mehrstelligen Zahlen.

Dieser Post wurde am 14.04.2008 um 14:13 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.04.2008, 14:27 Uhr
~elTurko
Gast


oh danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: