c++ - 程序必须将奇数索引元素放在一个新向量 C 中,将偶数索引元素放在另一个向量 T 中
问题描述
我必须编写一个程序,在输入向量的元素后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;
}
}
}
预期结果:
示例:我给出v[]={3,5,7,8,9,6}
该程序应给出以下结果:
Odd elements
3 7 9
Even elements
5 8 6
实际结果是:
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;
你拥有它的方式return 0;
是在第二个 for 循环内,它在第一个 for 循环内,所以两个循环在你的程序退出之前只打印一个数字。
推荐阅读
- excel - 为什么在单元格中输入文本时格式丢失
- c++ - 用于嵌套可变参数模板类的 C++ 模糊模板实例化
- php - Square API 对象创建
- python - 如何在数据框中每天的特定时间操作数据框列中的值
- python - 如何在数据框的列中使用字典来访问该列的值并取另一列的平均值?
- python - 如何根据条件附加具有两种不同大小的数组的列表
- python - 如何在每个带有请求的线程上获取不同的代理?
- kubernetes-helm - 是否可以从文件中的 helm 创建 yaml 对象
- c# - 让元素假装它不存在但仍然可见 WPF
- javascript - 如何在 jquery 或 c# 中为电子商务网站过滤器生成动态 URL