#include <iostream>
#include <algorithm>
using namespace std;
class myclass
{
public:
int start;
int end;
};
bool comp (const myclass &a,const myclass &b )
{
return a.start < b.start;
}
int main (void)
{
int n,temp,t,l,r,i,j;
cin>>t;
while ( t != 0 )
{
cin>>n;
temp = n;
i = 0;
myclass arr[100000];
while ( temp != 0 )
{
cin>>l>>r;
arr[i].start = l;
arr[i].end = r;
i++;
temp--;
}
for ( j = 0; j < i; j++ )
cout<<arr[i].start<<" "<<arr[i].end<<"\n";
cout<<"\n";
sort(arr,arr+i,comp);
for ( j = 0; j < i; j++ )
cout<<arr[i].start<<" "<<arr[i].end<<"\n";
t--;
}
return 0;
}
我已经创建了一个类,我正在尝试扫描myclass数组中的值。但是,当我打印输入的值时,它会显示全0。 在输入值后,我必须对值进行排序,但问题是输入在我所创建的自定义类的数组中没有正确输入。我在这做错了什么?
答案 0 :(得分:5)
在这些循环中将[i]
更改为[j]
:
for ( j = 0; j < i; j++ )
cout<<arr[j].start<<" "<<arr[j].end<<"\n";