

1 #include<stdio.h> 2 typedef struct{ 3 int x,y; 4 int c; 5 }item; 6 typedef struct{ 7 item element[100]; 8 int n; 9 }Poly; 10 void Create(Poly*A) 11 { 12 int m,t=0,e; 13 A->n=0; 14 scanf("%d",&m); 15 for(int i=0;i<m;i++) 16 for(int j=0;j<m;j++) 17 { 18 scanf("%d",&e); 19 if(e) 20 { 21 A->element[t].x=i; 22 A->element[t].y=j; 23 A->element[t].c=e; 24 A->n++; 25 t++; 26 } 27 } 28 } 29 void Change(Poly*A)//冒泡排序 30 { 31 item e; 32 for(int t=1;t<A->n;t++) 33 for(int i=0;i<A->n-1;i++) 34 { 35 if(A->element[i].x+A->element[i].y>A->element[i+1].x+A->element[i+1].y) 36 { 37 e=A->element[i]; 38 A->element[i]=A->element[i+1]; 39 A->element[i+1]=e; 40 } 41 } 42 } 43 void Order(Poly*A) 44 { 45 for(int t=A->n-1;t>=0;t--) 46 printf("%d xE%d yE%d\n",A->element[t].c,A->element[t].x,A->element[t].y); 47 } 48 int main() 49 { 50 Poly A; 51 Create(&A); 52 Change(&A); 53 Order(&A); 54 return 0; 55 56 }