Debug Assertion Failed错误
#include<iostream>
using namespace std;
//利用附加数组重排数组元素
template<class T>
void Rearrange(T *&a, int n, int r[])
{//按序重排数组a中的元素,使用附加数组u
T *u = new T[n+1];
//在u中移动到正确的位置
for (int i=0; i<n; i++)
{
u[r[i]] = a[i];
delete []a;
}
//移回到a中
for (int i=0; i<n; i++)
{
a[i] = u[i];
delete []u;
}
};
//计算名次
template<class T>
void Rank(T a[], int n, int r[])
{// Rank the n elements a[0:n-1].
for (int i = 0; i < n; i++)
r[i] = 0; // initialize
// compare all element pairs
// Visual complains if we say int i again
for (int i = 1; i < n; i++)
{
for (int j = 0; j < i; j++)
{
if (a[j] <= a[i]) r[i]++;
else r[j]++;
}
}
};
//Swap函数
template<class T>
inline void Swap(T&a, T&b)
{
T temp = a;
a = b;
b = temp;
};
//主函数
void main()
{
int n = 5;
int *x = new int[5];
int y[5] = {5, 9, 2, 7, 0};
for (int i=0; i<n; i++)
x[i] = y[i];
int r[]={0, 0, 0, 0, 0};
Rank(x, n, r);
cout << "x中各元素的名次为" ;
for (int i=0; i<5; i++)
cout << r[i] << ' ';
Rearrange(x, n, r);
cout << "重排后的数组为";
for (int i=0; i<5; i++)
cout <<r[i] << ' ';
}
调试没错误 运行就出现了如题错误 高手帮忙给改一下 我起初为了使delete []a 的原因 但是去掉那一行错误依旧。希望大家帮忙看一下。
...全文
相关推荐
Debug Assertion Failed!问题怎么解决?
Debug Assertion Failed!
occcont.cpp报错 所缺OCX控件.rar
occcont.cpp line 925运行错误 Debug Assertion Failed:表示缺少某个OCX控件。这里提供msflxgrd.ocx和mscomm32.ocx。下载后复制到C:\Windows\SysWOW64目录下,regsvr32注册即可
ActiveX控件之mscomm32.ocx
mscomm.ocx 组件,用于解决MFC开发串口通信出现“Debug Assertion Failed”具体安装方法参考本人博客
grails不能运行fork模式解决方法
主要介绍了如何解决grails2.3.2中不能运行fork模式的异常,大家参考使用吧
assert-logging-statements
断言记录语句 这是一个简单的项目,展示了如何使用logback断言日志记录语句。


