C++ 程序必须将奇数索引元素放在一个新的向量C中,将偶数索引元素放在另一个向量T中

C++ 程序必须将奇数索引元素放在一个新的向量C中,将偶数索引元素放在另一个向量T中,c++,C++,我必须做一个程序,在输入向量v[n]的元素后,程序必须将奇数索引元素放在一个新的向量C中,将偶数索引元素放在另一个向量T中。代码似乎有效,但结果不完整。它在两个向量上只显示一个元素 #include <iostream> using namespace std; int main() { int el,c[100],t[100],count=0, count1=0,v[100]; cout<<"How many elements : \n"<&l

我必须做一个程序,在输入向量v[n]的元素后,程序必须将奇数索引元素放在一个新的向量C中,将偶数索引元素放在另一个向量T中。代码似乎有效,但结果不完整。它在两个向量上只显示一个元素

#include <iostream>
using namespace std;

int main() {

    int el,c[100],t[100],count=0, count1=0,v[100];
    cout<<"How many elements : \n"<<endl;
    cin>>el;
    for(int i=0;i<el;i++){
        cout<<"Enter element "<<i+1<<" "<<endl;
        cin>>v[i];
    }
    for(int i=0,j=0,z=0;i<el;i++){
        if(v[i]%2==0){
            count++;
            c[j]=v[i];
            j++;
        }
        else{
            t[z]=v[i];
            count1++;
            z++;
        }
    }
    cout<<"Odd vector "<<endl;
    for(int j=0;j<count;j++){
        cout<<"Elements"<<"     "<<c[j]<<endl;
    cout<<"Even vector "<<endl;
    for(int z=0;z<count1;z++){
        cout<<"Elements "<<"     "<<t[z]<<endl;
        return 0;
    }
    }
}
实际结果是:

Odd elements 
8
Even elements 
3

打印结果时大括号不正确

cout<<"Odd vector "<<endl;
for(int j=0;j<count;j++){
    cout<<"Elements"<<"     "<<c[j]<<endl;
cout<<"Even vector "<<endl;
for(int z=0;z<count1;z++){
    cout<<"Elements "<<"     "<<t[z]<<endl;
    return 0;
}
}
应该是

cout<<"Odd vector "<<endl;
for(int j=0;j<count;j++)
    cout<<"Elements"<<"     "<<c[j]<<endl;
cout<<"Even vector "<<endl;
for(int z=0;z<count1;z++)
    cout<<"Elements "<<"     "<<t[z]<<endl;
return 0;

你让它返回0的方式;在第二个for循环内,而第一个for循环内,因此在程序退出之前,两个循环只打印出一个数字。

如果v[i]不可被2整除,即奇数,则v[i]%2==0也返回true。应该是另一种情况。@betrunken我离开了这个问题,因为问题描述涉及偶数和奇数索引,所以如果我%2!=真的。但是他们的例子是由值分隔的。非常感谢各位,现在它工作得很好。已经寻找了一段时间,问题是再次感谢你们的帮助
cout<<"Odd vector "<<endl;
for(int j=0;j<count;j++)
    cout<<"Elements"<<"     "<<c[j]<<endl;
cout<<"Even vector "<<endl;
for(int z=0;z<count1;z++)
    cout<<"Elements "<<"     "<<t[z]<<endl;
return 0;