#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n,m,k;
int set=1;
int *ptr=nullptr;
int nm;
int i;
while(cin>>n>>m>>k)
{
if(n<1||n>10||
m<1||m>100||
k<1||k>n*m)
return 0;
nm=n*m;
ptr=new int[nm];
int *traver=ptr;
i=0;
while(nm--)
{
cin>>ptr[i];
++i;
}
sort(ptr,ptr+nm);
traver=ptr;
for(int i=1;i<k;++i)
++traver;
cout<<"Scenario #"<<set<<endl;
cout<<*traver<<endl;
++set;
delete [] ptr;
}
return 0;
}
你的sort函數有問題,你前面已經經過了while(nm--)的循環,所以到了sort(ptr,ptr+nm);這句以後
nm已經是-1了