我编写了一个包含3个函数的程序。每个函数包含相同的50行(或左右)代码,虽然程序工作似乎不必要地长。我试图找到一种更紧凑的方式来编写它,以便这个大块不必被复制3次。
我使用的是c ++,但我还是比较新的。提前谢谢!
代码采用以下形式:
#include etc
using namespace std
int u=0;
k_y = 1.0E-6;
for (k_x=(1.0E-6); k_x<(pi/a); k_x+= stepsize)
{ (here is a big block of code labeling the elements of a 6x6 matrix)
}
k_x = pi/a;
for (k_y=(0.0); k_y<(pi/a); k_y+= stepsize)
{ (here is the same block of code)
}
k_y=pi/a;
for (k_x=(pi/a); k_x>(0.0); k_x-= stepsize)
{
(the same block of code again)
}
答案 0 :(得分:1)
您应该将重复的代码分解为自己的函数:
void labelMatrix (MatrixType& matrix /*any other things you need*/)
{
//code to label elements
}
//now in some function scope
int u=0;
k_y = 1.0E-6;
for (k_x=(1.0E-6); k_x<(pi/a); k_x+= stepsize)
{
labelMatrix(my_matrix);
}
k_x = pi/a;
for (k_y=(0.0); k_y<(pi/a); k_y+= stepsize)
{
labelMatrix(my_matrix);
}
k_y=pi/a;
for (k_x=(pi/a); k_x>(0.0); k_x-= stepsize)
{
labelMatrix(my_matrix);
}