我有一个这样的向量向量:
一个:0 1 0
乙:1 0 1
c: 0 1 1
我的程序的这一部分有效。在我想删除 0 所以我使用 remove_if 并且我想用 t 和位置替换 1 之后,所以我使用 replace_if 最终有类似的东西
一个:t2
b: t1, t3
c: t2, t3
这两件事在我的程序上不起作用,我也不知道了。我认为问题之一是我想在 int 中有“t”,但我不知道我是否可以为此使用字符串。
这是我的代码:
#include <iostream>
#include <vector>
#include <iterator>
int main (){
srand(time(0));
int e = (rand() % 10) + 3;
int tim = (rand() % 10) +1 ;
std::vector< std::vector<int> > myvector;
std::cout << "Time: 0 = Not available, 1 = available" << std::endl;
for(int vec = 0; vec < e; vec++){
std::vector<int> newVector(tim);
for(int i = 0; i < tim; i++){
newVector[i] = (rand() % 2);
}
myvector.push_back(newVector);
std::cout << "The Time " << (vec+1) << " is ";
for(int b = 0; b < tim; b++){
int value = myvector[vec][b];
std::cout << " " << value << " ";
}
}
//Delete the 0 in time
int int_to_remove = 0;
remove_if(myvector.begin(), myvector.end(), int_to_remove);
std::cout << "The new Time "<< std::endl;
copy(myvector.begin(), myvector.end(), output);
//Change the name of 1 to t1
int int_to_replace = 1;
replace_if(myvector.begin(), myvector.end(), int_to_replace, t(tim));
std::cout << "The new Time"<< std::endl;
copy(myvector.begin(), myvector.end(), output);
return 0;
}
谢谢