小编nir*_*iro的帖子

如何将MinGW bin目录添加到系统路径?

我使用的是Windows XP.我正在尝试向Dev-C++添加一个新库.为此,我需要安装MinGW,然后我被指示将binMinGW目录添加到我的系统路径.但是,我不知道该怎么做.请指导我(一步一步)将其添加到我的系统路径.

c++ windows

16
推荐指数
1
解决办法
8万
查看次数

如何在c ++程序中调用.exe文件?

我想在我的C++程序中使用exe文件(convert.exe).这个"exe"文件将我的输出文件格式更改为另一种格式.什么时候,我从命令提示符(cmd)使用这个convert.exe,我必须这样输入;

转换-in myfile -out convertedfile -n -e -h

哪里;

myfile =文件的名称,我从我的c ++程序中获得convertfile ="convert.exe"文件的结果-n,-e,-h =是我需要用来获取输出文件的一些参数(列)所需的数据列.

我尝试使用system(convert.exe).但是,它不起作用,因为我不知道如何使用所有这些参数.

c++

8
推荐指数
1
解决办法
4万
查看次数

删除矢量矢量内的重复矢量

我有vector(loops)的向量,它包含整数值.一些内部向量是重复的,但它们的元素顺序不一样.现在,我想得到一个矢量矢量,没有任何重复的内部向量.这是我的vec vec的一个例子;

loop =((9 18 26 11 9),(9 11 26 18 9),(9 18 25 16 9),(11 45 26 11),(11 26 45 11),(16 49 25 16),(16 25 49 16),(18 9 11 26 18),(18 9 16 25 18),(25 16 49 25),(26 11 45 26))

识别任何内部向量是否是另一个内向量的副本; 我开发了一个功能IsDuplicate.这告诉我,(9 18 26 11 9) and (9 11 26 18 9)是重复,然后我可以删除第二个或所有其他重复项.

为了删除向量向量中的重复向量,我实现了以下代码.

Vector<vector<int> > loops;
Vector<vector<int> > ::iterator no1, no2;
Int setno1, setno2;

for (no1=loops.begin(), setno1=0; no1!=loops.end(); no1++, setno1++){
       set1 = …
Run Code Online (Sandbox Code Playgroud)

c++ iterator vector

3
推荐指数
1
解决办法
1761
查看次数

当我将它们传递给cout时,为什么我的双打显示为整数?

我有一组存储在文件中的坐标.我只提取了某些点的"x"坐标并存储在一个名为的向量中:

vector<double> x_points;
Run Code Online (Sandbox Code Playgroud)

然后,我需要获得该向量内的最小和最大x坐标值.所以我使用*max_element*min_element包括<algorithm>;

double max_in=*max_element(x_points.begin(),x_points.end());
double min_in=*min_element(x_points.begin(),x_points.end()); 
Run Code Online (Sandbox Code Playgroud)

然后,当我打印值时,使用

cout<<" min-max-In "<<min_in<<" "<<max_in<<" ";
Run Code Online (Sandbox Code Playgroud)

...它只显示整数部分.我需要小数部分的整个值.那么,我怎样才能获得真正的价值,因为我需要那些用这些值做另一个过程?谢谢.请帮忙.

c++

1
推荐指数
1
解决办法
141
查看次数

交叉产品

我试图获得两个向量的"交叉产品".这两个向量代表两个平面.所以,我的载体是a1,b1,-1a2,b2,-1.(我用过,我的飞机方程式ax+by-z+d=0).

这是我定义的函数来获得交叉产品;

vector<double> cross_vector(vector<double> plane1,vector<double> plane2){
vector<double> cross_product;
double a1=plane1.at(0); double a2=plane2.at(0);
double b1=plane1.at(1); double b2=plane2.at(1);
int c1,c2=-1;
double cross_a=(b1*c2)-(b2*c1);
double cross_b=(a2*c1)-(a1*c2);
double cross_c=(a1*b2)-(a2*b1);
cross_product.push_back(cross_a);
cross_product.push_back(cross_;
cross_product.push_back(cross_c);

return cross_product;
}
Run Code Online (Sandbox Code Playgroud)

结果我得到了不同平面组合的结果;

 523554   -1.3713e+006  -0.00160687

 556340   -1.43908e+006  0.00027957

-568368    1.46225e+006 -0.00034963

 143455   -380017       -0.00027957 
Run Code Online (Sandbox Code Playgroud)

我无法理解这些价值观1.46225e+006?我的功能有什么问题吗?我知道,我得到的交叉矢量应该是完全水平的.那么,你能告诉我如何检查我的交叉矢量是否水平?希望你的意见.

c++ math 3d geometry vector

0
推荐指数
1
解决办法
1335
查看次数

push_back矢量的矢量

我有矢量矢量的一些问题.在我的程序中,我已经为vector的向量定义了一个动态内存,并对元素进行了resize和push_back.

vector<vector<double> > *planes = new vector<vector<double> >
planes->resize(s_list->size()); // size of another vector that i need to use
vector<int>::iterator s_no;
for(s_no=s_list->begin(), int i=0; s_no!=s_list->end(); s_no++, i++){){
                        //where i i the indices of planes

     //some codes for computing length, width

     planes->at(i).push_back(lenght);
     planes->at(i).push_back(width);
}
Run Code Online (Sandbox Code Playgroud)

它工作,我得到了我添加的所有值的打印.然后,我改变了新的矢量定义部分如下

vector<vector<double> > *planes = 
              new vector<vector<double> >(s_list->size(),vector<double>(2,0.0))
Run Code Online (Sandbox Code Playgroud)

并删除调整大小部分.然后,当我从矢量矢量打印出来时,我得到0值.你能否解决这个问题.

c++

-3
推荐指数
1
解决办法
1244
查看次数

标签 统计

c++ ×6

vector ×2

3d ×1

geometry ×1

iterator ×1

math ×1

windows ×1