У меня есть небольшое улучшение, я делаю свою машину Тьюринга, она читает параметры из txt-файла, а затем выполняет ленту в терминале.Я хочу сделать так, чтобы он читал из нескольких текстовых файлов и затем выполнял несколько лент.Поскольку я новичок в программировании, мне трудно понять, должен ли я использовать потоки или делать несколько функций чтения, а потом помещать параметры в цикл while, может быть, кто-то может дать мне совет?
Вот функция чтения
void reader(int &head, string &tape, string a[N][n])
{
ifstream df;
df.open("samples/1.txt");
df >> head;
df >> tape;
rule = tape.size(); // how many symbols we have in our line
for (int i = 0; i < N; i++)
if (df >> a[i][0])
{
for (int j = 1; j < n; j++)
{
df >> a[i][j];
}
}
else
{
length = i; //how many lines of rules we have
i = N;
}
df.close();
}
А пока цикл
while (d != "X")
{
for (int y = 0; y < length; y++)
if ((d == a[y][0]) && (p == a[y][1]))
{
tape[position] = a[y][2][0];
if (a[y][3] == "L") // if string equals L (or R) it switches/moves
position--;
else
position++;
p = tape[position];
d = a[y][4];
y = length;
}
for (int j = 0; j < rule; j++)
{
cout << tape[j];
//Sleep(1);
}
cout << endl;
system("CLS");
}