检查阵列位置
Checking the array position
我正在做的程序中,我正在检查,如果数组是平衡或不像数组int a5[] = {2, 1, 4, 3}; // balance array because i got even number on even position so program return 1
int a5[] = {3, 1, 4, 3}; // un balance array because i got odd number on even position so program return 0
这是我正在尝试的程序
int araay(int arg[], int length);
int main()
{
int a6[] = {3, 3, 4, 4};
int a7[] = {2, 2, 3, 4};
int a8[] = {4, 1, 2, 3};
int a9[] = {1, 1};
araay (a7,sizeof(a7));
}
int araay (int arg[], int length)
{
int sumEven = 0;
int sumOdd = 0;
for (int i=0; i<=length; i=i+2)
{
if (arg[i]%2 == 0)
{
sumEven++;
}
else
sumOdd++;
}
for (int i=1; i<=length; i=i+2)
{
if (arg[i]%2 == 0)
{
sumEven++;
}
else
sumOdd++;
}
return 0;
}
作为返回值它总是返回00000
每次
以下内容可能有所帮助:(http://ideone.com/NttqbY)
bool is_balanced(const std::vector<std::size_t>& v)
{
for (std::size_t i = 0; i != v.size(); ++i) {
if ((i % 2) != (v[i] % 2)) {
return false;
}
}
return true;
}
感谢大家的评论和帮助
这是我尝试过的
int araay(int arg[], int length);
int main()
{
int a6[] = {3, 3, 4, 4};
int a7[] = {2, 3, 2, 3};
int a8[] = {4, 1, 2, 3};
int a9[] = {1, 1};
araay (a7,3);
}
int araay (int arg[], int length)
{
int sumEven = 0;
int sumOdd = 0;
for (int i=0; i<=length; i+=2)
{
if (arg[i]%2 != 0)
{
cout<<"unbalanced"<<endl;
// return 0;
}
else
{
sumEven++;
}
}
for (int i=1; i<=length; i=i+2)
{
if (arg[i]%2 == 0)
{
cout<<"unbalanced"<<endl;
sumEven++;
}
else
{
sumOdd++;
// return 0;
}
}
return 0;
}
但是@jarod的答案看起来更合适和简单
你可以这样做
#include <iostream>
int check(int arg[])
{
for (auto i = 0; i < sizeof(arg); ++i)
{
if ((i % 2) != (arg[i] % 2))
{
return 0;
}
}
return 1;
}
void main()
{
int a[] = { 1, 2, 3, 4 };
int b[] = { 2, 3, 4, 5 };
int c[] = { 2, 2, 3, 3 };
std::cout << "a = " << check(a) << std::endl;
std::cout << "b = " << check(b) << std::endl;
std::cout << "c = " << check(c) << std::endl;
getchar();
}
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- OpenMP阵列性能较差
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 访问特定阵列位置/索引时出现分段错误
- 访问字符阵列中不可用的内存位置(超出范围值)
- 如何将X重置回阵列中的原始位置
- mpi_bcast,将阵列缓冲区广播到接收缓冲区中的特定位置
- C 2D char阵列有时会在随机位置复制数据
- MPI-如何将杂志发送到阵列中的特定位置
- 查找阵列的位置-C
- 阵列相邻位置交换程序需要提示
- 检查阵列位置在C++中是否为空的 CPU 高效方法
- C++阵列在内存中的存储位置
- 从随机起始位置开始的螺旋阵列
- 检查阵列位置是否为空/空
- 检查阵列位置
- 阵列内存位置
- 检查二维井字阵列位置c++