数组大小声明
Array Size Declarations
假设我们得到一个数组a[10],它同时包含偶数和奇数。我们必须将偶数元素移动到另一个数组,比如b[10],将奇数元素(数字)移动到数组c[10]。数组中的数字由用户输入,这意味着我们不知道a中偶数和奇数元素的确切数量假设数组b[10]中有5个偶数。对于剩余的5个,它将打印一些垃圾值。我希望垃圾值不应该打印
实现这一点的最简单、最直接的方法是维护两个计数,以跟踪您在b
和c
数组中插入的项目数。请注意,您无论如何都必须这样做,才能知道在哪里插入下一个项目。
例如,您可以声明b_count
和c_count
变量,并将它们初始化为零。如果数字是偶数,则将数字写入b[b_count]
,然后将1添加到b_count
,如果数字是奇数,则对c
和c_count
也是如此。
然后从0循环到(但不包括)要枚举的任何数组的计数变量。
我没有在这里写任何代码,因为我怀疑这是一个家庭作业问题,我不想用勺子舀OP完整的工作代码。
您可以这样保存每个数组的内容大小:
int a[10], b[10], c[10];
int b_length = 0, c_length = 0;
...
for (int i = 0; i < 10; i++)
{
if (a[i] % 2 == 0)
b[b_length++] = a[i];
else
c[c_length++] = a[i];
}
也可以使用std::vector
。它是更多C++。
std::vector<int> b, c;
...
for (int i = 0; i < 10; i++)
{
if (a[i] % 2 == 0)
b.push_back(a[i]);
else
c.push_back(a[i]);
}
相关文章:
- 在类c++中使用new声明数组
- 为什么不能用常量表达式声明数组?
- 声明数组后我无法添加数组
- 可以使用<size_t>static_const(),std::as_const()或static_cast<const size_t>()来声明数组吗?
- 变量未在此范围内声明 数组线性搜索
- 在类中声明数组. C++
- T D[N] 总是声明数组类型的对象吗?
- 如何使用智能指针在二维上声明数组?
- 声明数组>> int arr[] 时出错;在C++(虽然在 Java 中有效)?
- 在C 类中声明数组数据
- 声明数组时出现 SIGSEGV 错误,而不创建新的 int[size]
- 如何在不初始化常量的情况下声明数组?
- 使用函数在函数中声明数组值
- 以C++声明数组的时间复杂度
- 通过传递数组长度在函数内声明数组
- 通过引用传递数组,而不在函数声明中显式声明数组的大小
- 声明数组和打印[错误?]
- 用内核参数在CUDA内核中声明数组
- 如何在不依赖#Define的情况下转发声明数组大小
- 声明数组已经填充了零