没有将负值添加到数组中
Negative value not being added to Array
问题
我有两个数组,一个用于正数,一个表示负数。出于某种原因,如果要添加的第一个数字是负数,它会创建数组空间来添加该数字,但插入的数字将始终为0。
添加的代码
这是我的加法方法,它确定值是负数还是正数,并将值添加到适当的数组:
bool MyClass::addInt(int valueToBeInserted){
if (valueToBeInserted >= 0){
if (posArrayIterator >= sizeOfMyArray){
return false;
} else {
cout << "added " << valueToBeInserted << "n" << endl;
myPArray[posArrayIterator] = valueToBeInserted;
posArrayIterator ++;
return true;
}
} else {
if (negArrayIterator >= sizeOfMyArray){
return false;
} else {
cout << "added " << valueToBeInserted << "n" << endl;
myNarray[negArrayIterator] = valueToBeInserted;
negArrayIterator ++;
return true;
}
}
}
输出
通过以下测试:
b.addInt(-1);
b.addInt(-3);
b.addInt(-9);
预期输出为
[-1, -3, -9]
但是输出是
[-3, -9, 0].
非常感谢您的帮助。
由于您没有发布整个类,我只能猜测问题出在哪里。
1( posArrayIterator
和negArrayIterator
是否初始化为0
?他们应该是!
2( sizeOfMyArray
的值是多少?
您的bool MyClass::addInt(int valueToBeInserted)
没有任何问题
参见以下示例:
class MyClass
{
private:
int sizeOfMyArray;
int posArrayIterator;
int negArrayIterator;
int myNarray[20];
int myPArray[20];
public:
MyClass(){
sizeOfMyArray = 20;
posArrayIterator = 0;
negArrayIterator = 0;
};
bool addInt(int value);
void printNArray()
{
cout << "[ ";
for (int i=0; i<negArrayIterator; i++)
{
cout << myNarray[i];
if ( (i+1) < negArrayIterator )
{
cout << ", ";
}
}
cout << "]";
}
};
bool MyClass::addInt(int valueToBeInserted){
if (valueToBeInserted >= 0){
if (posArrayIterator >= sizeOfMyArray){
return false;
} else {
cout << "added " << valueToBeInserted << "n" << endl;
myPArray[posArrayIterator] = valueToBeInserted;
posArrayIterator ++;
return true;
}
} else {
if (negArrayIterator >= sizeOfMyArray){
return false;
}
else {
cout << "added " << valueToBeInserted << "n" << endl;
myNarray[negArrayIterator] = valueToBeInserted;
negArrayIterator ++;
return true;
}
}
}
int main()
{
MyClass b;
b.addInt(-1);
b.addInt(-3);
b.addInt(-9);
b.printNArray();
return 0;
}
输出:
added -1
added -3
added -9
[ -1, -3, -9]
相关文章:
- C++向数组添加元素并调整数组大小
- 向对象数组 c++ 添加值
- 在 c++ 中将 Char 数组添加到 Char * 变量
- 向动态数组添加内容
- 动态数组添加元素而不创建结构变量/对象
- 将 2D 数组添加到 1D 数组
- 如何使用sprintf将UINT_64的数组添加到一个字符数组中
- 当循环崩溃时,不向数组添加单词
- 如何将对象数组添加到另一个类
- 将字符数组添加到 const string&in C++
- 如何将数组添加到列表中
- 向量数组C++ - 添加元素时的奇怪行为
- 将char数组添加到C 中的字符串
- strncpy向我的char数组添加了额外的字符
- 在C++中向数组添加项的最有效方法
- 将类对象的数组添加到一个主类对象中
- 将BSON数组添加到MongoDB 3.2文档并提取值(MongoCXX 3.2)(C++11)
- 我是否正确地为 2D 数组添加了行与列
- 读取文件内容,存储在数组中,向数组添加更多内容,然后将新数组存储在文件C++中
- C++类对象数组 - 添加新记录