C++ 中 15000 数组索引之后的不相关整数标准输入
Irrelevant integral stdin input after 15000 array index in c++
我正在尝试解决 c++ 中的一个问题,该问题需要从 stdin 读取积分输入并将其存储在数组中以供进一步处理。
输入测试用例包含介于 1 和 100000 之间的整数。测试用例大小大于 20,000,但我发现在获取超过 15000 索引的输入后,输入返回不相关的重复数字,如下所示 -
94991 -(索引) 1900194991 -(索引) 1900294991 -(索引) 1900394991 -(索引) 1900494991 -(索引) 1900594991 -(索引) 1900694991 -(索引) 1900794991 -(索引) 1900894991 -(索引) 1900994991 -(索引) 1901094991 -(索引) 19011
而原始测试用例包含相同且不同的整数。
下面是输入部分的代码片段-
int n,k,i=0;
cin>>n;
//taking input size of array
int ar[n];
while(n--)
{
cin>>k;
ar[i]=k;
if(i>15000)
cout<<k<<" -(index) "<<i<<endl;
++i;
}
编辑1)即使使用while循环而不使用数组,问题仍然存在,就像下面的代码片段一样,只是使用变量k解析输入;即使使用矢量也会产生错误的结果。
cin>>n;
while(n--)
{
//cin.clear();
cin>>k;
if(i>19000)
cout<<k<<" - "<<i<<endl;
++i;
}
上述输入文件的链接 http://bit.ly/1PgAjB3,你们中的任何一个人都可以使用它来测试ideone。
2)该程序适用于5000左右的测试用例
**上述代码片段所属的整个代码是**http://ideone.com/WOYkEl
当测试用例为 5733 时,您可以看到代码有效
替换
int ar[n];
跟
int * ar = new int[n];
在编译时你不知道n
,所以这需要动态分配。
相关文章:
- 检查输入是否不是整数或数字
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 虚假唤醒是否会解锁所有等待线程,甚至是不相关的线程?
- std::less是否应该允许在编译时比较不相关的指针?
- 0 的 2D 数组 不相关循环的破坏逻辑 - C++
- 如果索引不是整数,我们如何在 C++ 中插入哈希表
- 为什么数组到指针的输出不相关
- 如何使用模板元编程在自由函数C++链接两个不相关的类
- 初始化不是整数的巨大常量多维数组的最佳方法是什么?
- 为什么在使用不相关的宏时会阻止 while 循环结束?
- 将积分类型的数组作为另一个不相关的积分类型的阵列进行访问的安全且符合标准的方法
- 强制转换为不相关的引用类型是否违反严格的别名规则?
- 为什么我的代码在添加不相关的代码行后工作方式不同?
- 字符串 c++ 的不明确整数赋值
- 尝试编写函数尝试从字符串中提取数字,但它返回不相关的数字
- VSCODE C++ IntelliSense为替代定义找到不相关的Yocto Sysroots
- 什么保证两个不相关的线程中的不同不相关对象没有(不可避免的)争用条件?
- G :数键在“]”令牌之前不是整数常数
- 对类型 'A *' 的非常量左值引用不能绑定到不相关的类型 'std::shared_ptr<A>' 的值
- C++ 中 15000 数组索引之后的不相关整数标准输入