Лексический анализатор в с ++ - PullRequest
0 голосов
/ 15 ноября 2018

Я хочу прочитать файл, который в первой строке содержит строки, а во столбцах второй строки и на его основе выделяет динамический массив.

После того, как таблица перехода второй строки существует в файле, имеющем значения ASCII 128 символов на клавиатуреи последний индекс 128 должен хранить принятое состояние с некоторым числом, например 101, и отклоненное состояние с -1, а затем сохранять эту таблицу переходов в динамически распределенном массиве.

Что я делаю не так?

Это формат файла ниже:

3 
5 
65 66 67 68 128
3 2 7 8 -1 
4 5 5 7 101
3 5 6 9 102
2 5 6 9 -1
3 6 7 8 103

#include "iostream"
#include "fstream"
#include "string"


using namespace std;

int main(){
    int line=0;
    string l;
    int rows=5;
    int cols=6;
    int count=0;

    int **a=new int*[rows];// Dynamic array creation 

    for (int k=0;k<rows;k++){
        a[k]=new int[cols];
    }
    ifstream myfile ("23.txt"); // Reading file 

    if(myfile.is_open()){
        while(!myfile.eof() ){
            myfile>>l;
            cout << l;

            if ((l =="\n")||(l=="\r")){ 
                line++;
            }
            if (line ==2){
                for (int i=0;i<rows;i++){    //storing transition table in dynamically create array
                    for(int j=0;j<cols;j++){
                        a[i][j]=(int)l[j];
                        cout << l[j] << '\t';
                        count++;
                    } 
                }   
            }
        }
    }
    myfile.close();    //close the file
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...