c++ - 如何根据位置(偶数或奇数)将一个 full=number 分成两组

标签 c++ arrays

<分区>

我的输入是这样的

 4
 1 2
 3 4
 5 6
 7 8

我想做的是把它分成两组。 How to split a full=number into two groups according to their position(even or odd) 我在这里问过。我认为答案是正确的。当我与男孩[3]核对时; 好像有问题。这是代码,我找不到错误?应该输出8

#include<fstream>
#include<iostream>
using namespace std;

int main(){
ifstream ifs("Q3_IN.txt"); 
int g;
ifs>>g;
int boy[g];int girl[g];
int a =0; int b = 0;
 for(int i=0;i<g;i++){
 if(i%2) ifs>>boy[b++];
 else ifs>>girl[a++];
 }
 cout<<boy[3];
 system("pause");
 return 0;}

最佳答案

i < g*2是你的解决方案。您的输入大小是 2*g 但不是 g。

关于c++ - 如何根据位置(偶数或奇数)将一个 full=number 分成两组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17858730/

相关文章:

c++ - 为什么 std::cout 如此耗时?

C++ apt-get 处理 popen 的标准输出

Ajax 调用时 Javascript 数组为空

javascript - 将对象添加到数组失败

arrays - 在 Julia 中初始化一个包含大量数组的空数组

c++ - 为什么我的 C++ 程序崩溃了?

c++ - 需要很多类的前向声明是否表明设计不好

c++ - 对于完整的 c 和 c++ 编译器,我应该在 MinGW 设置中选择哪些选项

arrays - 为什么 Hash#merge 使用 splat 运算符返回哈希数组数组而不是哈希数组?

arrays - 为什么直接在 ArraySlice 上调用变异方法不会触发写时复制?