[英]C++, How do i write cout output side by side?
正如標題中提到的,我不知道如何格式化我的std::cout
輸出,以便內部for
循環寫入“行”但外部for
循環生成列。
我的代碼:
#include <iostream>
#include <iomanip>
using namespace std;
class LoopTest
{ //Access specifier
public:
//Data Members
int outer_size = 2;
int inner_size = 3;
//Memberfunction
int testing()
{
freopen("/home/user/training/exercise/e0/TESTPROGRAM_OUTPUT.dat", "w", stdout); //redirect output to file
for(int i = 0; i <= outer_size; i++)
{
cout << " number: " << i;
for(int j = 0; j <= inner_size; j++)
{
cout << " j*(j*i): " << j*(j*i);
cout << " ";
cout << "\n";
}
}
fclose(stdout);
return 0;
}
};
上面顯示的代碼產生以下輸出:
number: 0 j*(j*i): 0
j*(j*i): 0
j*(j*i): 0
j*(j*i): 0
number: 1 j*(j*i): 0
j*(j*i): 1
j*(j*i): 4
j*(j*i): 9
number: 2 j*(j*i): 0
j*(j*i): 2
j*(j*i): 8
j*(j*i): 18
如前所述,理想的輸出是:
number: 0 j*(j*i): 0 number: 1 j*(j*i): 0 number: 2 j*(j*i): 0
j*(j*i): 0 j*(j*i): 1 j*(j*i): 2
j*(j*i): 0 j*(j*i): 4 j*(j*i): 8
j*(j*i): 0 j*(j*i): 9 j*(j*i): 18
您必須交錯輸出,首先輸出所有第一行,然后輸出第二行......
for(int i = 0; i <= outer_size; i++)
{
cout << " number: " << i << "\t"; // Add the tabs necessary
}
for(int j = 0; j <= inner_size; j++)
{
for(int i = 0; i <= outer_size; i++)
{
// The the first result line
}
}
更改 for 循環的順序。
你可以這樣做:
#include<iostream>
#include<cmath>
using namespace std;
int main (int argc, char* argv[])
{
int outer_size=2, inner_size=3;
int j=0;
for(int i = 0; i <= outer_size; i++)
{
cout << " number: " << i;
cout << " j*(j*i): " << j*(j*i)<<"\t";
}
std::cout<<endl;
for( j = 1; j <= inner_size; j++)
{
for (int i=0; i<=outer_size; i++)
{
cout << " j*(j*i): " << j*(j*i)<<"\t\t";
}
std::cout<<endl;
}
return 0;
}
在終端上生成此輸出:
number: 0 j*(j*i): 0 number: 1 j*(j*i): 0 number: 2 j*(j*i): 0
j*(j*i): 0 j*(j*i): 1 j*(j*i): 2
j*(j*i): 0 j*(j*i): 4 j*(j*i): 8
j*(j*i): 0 j*(j*i): 9 j*(j*i): 18
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.