(C++)我的output.txt文件具有wierd间距
这就是我的意思。如果您需要代码,那么下面是流到输出文件的部分。我想计算2x-x^2的积分。然后将其与使用梯形面积相加的方法进行比较 附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本文本附加文本附加文本附加文本附加文本附加文本(C++)我的output.txt文件具有wierd间距,c++,C++,这就是我的意思。如果您需要代码,那么下面是流到输出文件的部分。我想计算2x-x^2的积分。然后将其与使用梯形面积相加的方法进行比较 附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本附加文本文本附加文本附加文本附加文本附加文本附加文本 #include <iostream>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
double a, b, N = 10;
ifstream in_s("inYusupov.txt");
ofstream out_s("outYusupov.txt");
while (in_s >> a >> b)
{
N = 10;
//Для графика y= 2x-(x)^2
double true_value = ((b*b) - (b*b*b) / 3) - ((a*a) - (a*a*a) / 3);
out_s << "a=" << a << "\t" << "b=" << b << "\n";
out_s << "True value=" << true_value << "\n" << "\n";
while (N <= 100)
{
double h = (b - a) / N;
double area = 0;
//точки трапеции
double coor_1 = a;
double coor_2 = coor_1 + h;
while (coor_1<b)
{ //я выразил точки подставив их в y= 2x-(x)^2
double y_1 = 2 * (coor_1)-(coor_1*coor_1);
double y_2 = 2 * (coor_2)-(coor_2*coor_2);
double pol_sum = (y_2 + y_1) / 2;
// S трапеции - полусумма оснований на высоту. Высота - h, полусумма - (y_2 + y_1) / 2
double s = pol_sum*h;
area = area + s;
coor_1 = coor_1 + h;
coor_2 = coor_2 + h;
}
//в outYusupov.txt
cout << N << "\t" << area << "\t" << (true_value - area) << "\n";
out_s << N << "\t" << area << "\t" << (true_value - area) << "\n";
N = N + 10;
}
out_s << "\n";
}
out_s.close();
cin.get();
return 0;
}您正在遭受制表器使用不当的痛苦。制表器添加的空间量取决于文本查看应用程序设置和初始制表符偏移量,因此添加它们并没有必要使生成的文档具有正确的列。请改用固定宽度打印:
<< ::std::setw(6) << N << ::std::setw(10) << area << ::std::setw(10) << (true_value - area) << "\n";
欢迎来到SO!那些额外的文本业务是什么?我看到制表器停止代码的标准解释:移动到下一个8的倍数。你的问题是什么?请修复您的代码块:从main中的第一行到终止}的行需要以另外四个空格开始。