编写一个输入N个数,输出第K大的数的程序时出错,大家帮忙看看,谢谢啦
错误提示为error: invalid conversion from 'void*' to 'int*' [-fpermissive]下面为写的程序
//用户输入n个无序数字中找第k大的数
#include <iostream>
#include <algorithm>
using namespace std;
void select(int arry[],int n);
int main()
{
int n,k,i;//n为数组的长度,k为用户输入的第K大的值
cout<<"请输入你想输入的数字的总个数"<<endl;
cin>>n;
int *a;
a=malloc(n*sizeof(int));
cout<<"请输入您输入k的值"<<endl;
cin>>k;
cout<<"请开始输入无序数字"<<endl;
for(i=0;i<n;i++)
cin>>*(a+i);
select(a,n);
cout<<a[k]<<endl;
free(a);
return 0;
}
void select(int array[],int num)
{
int i,j;
for(i=0;i<num-1;i++)
{
for(j=i+1;j<num;j++)
{if(array[i]<array[j])
{swap(array[i],array[j]);}}
}
}