我是编码新手,我面临一个问题
im reatively new to coding and im facing a problem
我是竞争性编程的新手 我一直在尝试解决有关代码厨师的问题。 当我尝试使用我的开发 C++ 编译器时,我没有收到任何错误,但是我在在线代码厨师 IDE 上收到运行时错误。
int main() {
int n,q;
int l,r;
int *A;
int *B;
int *J;
int *C;
cin >> n >> q;
A=new int[n];
B=new int[n];
J=new int[n];
C=new int[q];
for (int i=0;i<n;i++) {
cin >> A[i];
}
for (int i=0;i<n;i++) {
cin >> B[i];
}
J[0]=0;
for (int j=1;j<n+1;j++) {
J[j]=J[j-1]+(A[j-1]*B[j-1]);
}
for (int i=0;i<q;i++) {
cin >> l >> r;
if (r==1) {
C[i]=J[1];
}
else {
C[i]=J[r]-J[l-1];
}
}
for(int i=0;i<q;i++){
cout << C[i] << endl;
}
delete []A;
delete []B;
delete []C;
delete []J;
return 0;
}
在抛出"std::bad_array_new_length"实例后终止调用
what(): std::bad_array_new_length
有
cin >> n >> q; A=new int[n]; B=new int[n]; J=new int[n]; C=new int[q];
您确实检查是否输入了有效的尺寸,甚至没有输入某些内容
什么((: 标准::bad_array_new_length
表示 n 和/或 q 的值对于new [n]
或new[q]
来说太大。如果您输入负整数(大小是无符号的(,或者如果您没有输入 2 个有效整数,因此至少一个 of vars 未初始化(未定义的行为(,或者当然如果您输入至少一个非常大的整数,则很可能是这种情况。
一般来说,所有cin >> ...
都必须if (!(cin >> ...)) { ...error management ... }
所以至少要做到:
if (!(cin >> n >> q) || (n < 1) || (q < 1)) {
cerr << "invalid sizes" << endl;
return -1;
}
拥有
J=new int[n]; ... for(int j=1;j<n+1;j++){ J[j]=J[j-1]+(A[j-1]*B[j-1]); }
J[j]
在最后一轮J[n]
,因此您写出了分配的数组
也在
for(int i=0;i<q;i++){
cin >> l >> r;
if(r==1){
C[i]=J[1];
}
else{
C[i]=J[r]-J[l-1];
}
您不检查 L 和 R 的值是否有效索引,也不检查整数是否作为输入
cin >> l >> r;
可以是这样的
if (!(cin >> l >> r) ||
(r < 0) || (r >= n) ||
(l < 1) || (l >= (n - 1))) {
cerr << "invalid indexes" << endl;
return -1;
}
相关文章:
- 一个关于在C++中重载布尔运算符的问题
- 发送一个带有libcurl C++问题的帖子请求:s
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 使用运算符 [] 引用 std::vector 上最后一个元素时出现问题<>
- 为我的 c++ 类介绍制作一个三角形分类器.我有几个问题
- 关于复制构造函数的一个棘手问题
- Tmax(0x7fffffff 的一个奇怪问题,为什么 (!x) == x?
- C++线程安全:如果只有一个线程可以写入非原子变量,但多个线程从中读取. 会遇到问题吗?
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 在解决链表问题时创建一个额外的节点是一个好习惯吗?
- 存储另一个函数返回的布尔数组时遇到问题
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 我在使用 boost::serialization 时遇到了一个问题,我的代码在 Linux 中运行良好,但在 Wind
- 我有一个关于C++提升的问题:: asio 和 std :: 异步
- 这是一个二叉搜索树吗?黑客排名问题
- 几对性能问题(一个较大的向量与较小的块向量),值得存储迭代索引以进行矢量访问
- GLSL问题:一个程序中有多个着色器
- 设计问题——一个函数调用所有三个函数