Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;代码运行不正常 这里是我的C++代码,用于计数排序算法,没有错误,也没有警告,但是当我想执行它时,它给我“CurnTut.EXE已经停止工作”,我认为这是运行时错误。p> void Counting_sort() { int A[]={5,15,20,30,40,8,36,25,96,15,40,15,96,47,20}; int k = 15 ; int n = 15; int i, j; int B[15]; int C[100]; for(i = 0; i <= k; i++) C[i] = 0; for(j =1; j <= n; j++) C[A[j]] = C[A[j]] + 1; for(i = 1; i <= k; i++) C[i] = C[i] + C[i-1]; for(j = n; j >= 1; j--) { B[C[A[j]]] = A[j]; C[A[j]] = C[A[j]] - 1; } cout << "\nThe Sorted array is : "; for(i = 1; i <= n; i++) cout << B[i] << " " ; } void main() { Counting_sort(); } void Counting\u sort() { int A[]={5,15,20,30,40,8,36,25,96,15,40,15,96,47,20}; int k=15; int n=15; int i,j; int B[15]; INTC[100]; 对于(i=0;i_C++ - Fatal编程技术网

C++;代码运行不正常 这里是我的C++代码,用于计数排序算法,没有错误,也没有警告,但是当我想执行它时,它给我“CurnTut.EXE已经停止工作”,我认为这是运行时错误。p> void Counting_sort() { int A[]={5,15,20,30,40,8,36,25,96,15,40,15,96,47,20}; int k = 15 ; int n = 15; int i, j; int B[15]; int C[100]; for(i = 0; i <= k; i++) C[i] = 0; for(j =1; j <= n; j++) C[A[j]] = C[A[j]] + 1; for(i = 1; i <= k; i++) C[i] = C[i] + C[i-1]; for(j = n; j >= 1; j--) { B[C[A[j]]] = A[j]; C[A[j]] = C[A[j]] - 1; } cout << "\nThe Sorted array is : "; for(i = 1; i <= n; i++) cout << B[i] << " " ; } void main() { Counting_sort(); } void Counting\u sort() { int A[]={5,15,20,30,40,8,36,25,96,15,40,15,96,47,20}; int k=15; int n=15; int i,j; int B[15]; INTC[100]; 对于(i=0;i

C++;代码运行不正常 这里是我的C++代码,用于计数排序算法,没有错误,也没有警告,但是当我想执行它时,它给我“CurnTut.EXE已经停止工作”,我认为这是运行时错误。p> void Counting_sort() { int A[]={5,15,20,30,40,8,36,25,96,15,40,15,96,47,20}; int k = 15 ; int n = 15; int i, j; int B[15]; int C[100]; for(i = 0; i <= k; i++) C[i] = 0; for(j =1; j <= n; j++) C[A[j]] = C[A[j]] + 1; for(i = 1; i <= k; i++) C[i] = C[i] + C[i-1]; for(j = n; j >= 1; j--) { B[C[A[j]]] = A[j]; C[A[j]] = C[A[j]] - 1; } cout << "\nThe Sorted array is : "; for(i = 1; i <= n; i++) cout << B[i] << " " ; } void main() { Counting_sort(); } void Counting\u sort() { int A[]={5,15,20,30,40,8,36,25,96,15,40,15,96,47,20}; int k=15; int n=15; int i,j; int B[15]; INTC[100]; 对于(i=0;i,c++,C++,因此,A[15]是无效的访问,将导致未定义的行为。 数组A[15]的有效访问权限是A[0]到A[14]除此之外的任何内容都是数组越界访问。您读取了A数组的越界内容,现在将是学习一些基本调试技能的好时机-在调试器中逐步检查代码,看看发生了什么。//使用注释肯定会提高代码的可读性。我运行了我的调试器中的代码,它立即停在导致错误的那一行。那会是哪一行?没有读过代码,但对于OP,是否正在将=更改为以解决该问题?@EvanCarslake阅读代码。@Gopi,我是初学者,这是大学的一项任务,所以我需要更多

因此,
A[15]
是无效的访问,将导致未定义的行为。
数组
A[15]
的有效访问权限是
A[0]
A[14]
除此之外的任何内容都是数组越界访问。

您读取了
A
数组的越界内容,现在将是学习一些基本调试技能的好时机-在调试器中逐步检查代码,看看发生了什么。
//使用注释肯定会提高代码的可读性。
我运行了我的调试器中的代码,它立即停在导致错误的那一行。那会是哪一行?没有读过代码,但对于OP,是否正在将
=
更改为
以解决该问题?@EvanCarslake阅读代码。@Gopi,我是初学者,这是大学的一项任务,所以我需要更多的解释和说明我的密码是w你能回答吗please@user2780962我已经回答了你的问题。很明显,你需要访问绑定的数组,否则你就必然会遇到问题。首先,你必须学习C++使用0个数组的索引。如果你有一个15元素数组,有效的索引是0到14. 15是不在边界的。.尽管@Gopi在上面的回答中这么说。
for(j = n; j >= 1; j--)
{
  // You are accessing A[j]
}