Я действительно запутался, как решить эту проблему. У меня есть такой текстовый файл:
STEP
10
NUMBER line
2
cc
aa
ab
ac
ad
1 1 81 91 101
2 1 82 92 102
STEP
20
NUMBER line
2
cc
aa
ab
ac
ad
1 1 51 61 71
2 1 52 62 72
с этим фрагментом кода:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main ()
{
string line;
double x0, y0, z0, x1, y1, z1, type ;
int NUMBER_line,id ;
ifstream myfile ("1.txt");
string namefile;
if (myfile.is_open()){
for (int lineno = 0; getline (myfile,line) && lineno < 7; lineno++)
{
if (lineno == 2) myfile>>NUMBER_line;
}
cout <<" NUMBER_line: "<<NUMBER_line<<endl;
for (int linenoq = 0; getline (myfile,line) && linenoq < NUMBER_line; linenoq++){
myfile>>id>>type>>x0>>y0>>z0;
cout<<id<<" "<<type<<" "<<x0<<" "<<y0<<" "<<z0 <<endl;
}
for (int lineno = 0; getline (myfile,line) && lineno < 7; lineno++)
{
}
for (int linenoq = 0; getline (myfile,line) && linenoq < NUMBER_line; linenoq++){
myfile>>id>>type>>x1>>y1>>z1;
cout<<id<<" "<<type<<" "<<x1<<" "<<y1<<" "<<z1 <<endl;
}
}
else cout << "Unable to open file";
return 0;
}
Я могу показать строки, имеющие номер, мой вывод:
NUMBER_line: 2
1 1 81 91 101
2 1 82 92 102
NUMBER_line: 2
1 1 51 61 71
2 1 52 62 72
Но я не знаю, как я могу сделать вычитание между, например, 81 и 51, или 82 и 52, и т. Д. Я думаю, что я должен поместить четвертый цикл где-то во второй цикл, но я несекрет производства. Другое дело про третий цикл, он мне не нужен. но я должен поместить это, потому что, если я не помещу это там, стартовая строка четвертого цикла становится неправильной. Я имел в виду, что четвертый цикл начинает строку 12 вместо строки 21.