Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 按整数值显示记录_C++ - Fatal编程技术网

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;
    }
}