Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:为什么我的qsort不起作用In Reply To:为什么我的qsort不起作用 Posted by:liuhighway at 2010-02-10 15:46:03 > #include<iostream> > #include<stdlib.h> > using namespace std; > int cmp(const void *w,const void *y) > {return (strcmp((char*)w,(char*)y));}; > int main() > {int n,i,j,k,e; > char **a=NULL, map[]="22233344455566677778889999";char **c=NULL; > cin>>n;getchar();a=new char*[n];c=new char *[n];int *d=new int [n]; > for(i=0;i<n;i++) > {a[i]=new char [100];c[i]=new char[9];d[i]=1;} > for(i=0;i<n;i++) > {cin>>a[i];} > for(i=0;i<n;i++) > { > for(j=0,k=0;a[i][j]!='\0'&&j<100;j++) > {if(k==3){c[i][k]='-';k++;j--;continue;} > if(a[i][j]>='A'&&a[i][j]<='Z'){c[i][k]=map[a[i][j]-'A'];k++;continue;} > if(a[i][j]>='0'&&a[i][j]<='9'){c[i][k]=a[i][j];k++;continue;} > }c[i][k]='\0'; > } > qsort((void*)c,n,sizeof(c[0]),cmp); > for( e=0,i=0;i<n-1;i++) > {if(d[i]!=0) > {for(j=i+1;j<n;j++) > {if(strcmp(c[i],c[j])==0){d[i]++;d[j]=0;e++;} > } > } > } > if(e==0)cout<<"No duplicates."<<endl; > else > {for(i=0;i<n;i++) > {if(d[i]!=0&&d[i]!=1)cout<<c[i]<<" "<<d[i]<<endl;} > } > return 0; > } > > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator