C++ 按整数值显示记录
我必须根据数组中的整数值显示记录。例如,如果我有一个数组C++ 按整数值显示记录,c++,C++,我必须根据数组中的整数值显示记录。例如,如果我有一个数组 2, 3, 5, 3, 6, 8, 10, 1, 9, 7 我需要基于整数2显示3和5。然后根据整数3显示6、8和10,然后根据1显示9。因此,我的显示阵列将是: 3,5 6,8,10 9 到目前为止,我还没有形成任何算法/代码。。这件事怎么办 试试这样:(我不确定我是否理解你的问题)(未测试) void displayRecords(int*vect,int size,int val) { 对于(int i=0;i用给定数组测试它
2, 3, 5, 3, 6, 8, 10, 1, 9, 7
我需要基于整数2显示3和5。然后根据整数3显示6、8和10,然后根据1显示9。因此,我的显示阵列将是:
3,5
6,8,10
9
到目前为止,我还没有形成任何算法/代码。。这件事怎么办 试试这样:(我不确定我是否理解你的问题)(未测试)
void displayRecords(int*vect,int size,int val)
{
对于(int i=0;i用给定数组测试它
void display_records(std::vector<int> vi) {
int tmp = 0;
int index = 0;
for(int i=0;i<vi.size(); i++){
for(int j=1;j<=vi[i];j++){
index = i + j;
tmp = vi[index];
if((i+j) < vi.size()) { //to prevent it going out of range
std::cout << tmp << " " ;
}
}
i = i + vi[i];
std::cout << std::endl;
}
}
void display_记录(std::vector vi){
int-tmp=0;
int指数=0;
对于(int i=0;i到目前为止您尝试了什么?最后一个7
会发生什么?“我还没能”抱歉,这不是一个足够的问题描述。这个问题似乎相当简单,可以通过几个循环来解决。你有什么发现?@gspr我可以尝试的一种方法是获取变量中数组的第一个元素,然后根据第一个元素的值运行一个循环来打印下一个元素?哦,7可能会作为t被丢弃除了这个数字,这里没有其他数据。听起来不错。试试看。@scypx:我建议你试着把你的建议编码起来。最好的情况是你成功了。最坏的情况是,你更有可能从你的坏代码中得到帮助,而不是像这样的问题:-)你可能想问自己的另一个问题是,如果在那之后有一些大于零但小于七的条目,你希望发生什么。
void display_records(std::vector<int> vi) {
int tmp = 0;
int index = 0;
for(int i=0;i<vi.size(); i++){
for(int j=1;j<=vi[i];j++){
index = i + j;
tmp = vi[index];
if((i+j) < vi.size()) { //to prevent it going out of range
std::cout << tmp << " " ;
}
}
i = i + vi[i];
std::cout << std::endl;
}
}