View Code of Problem 5

#include<stdio.h>
struct fruit{
	int mark;
	int apple;
	int pear;
}fruits[10000];

int InsertSort(struct fruit fruits[],int n){
	struct	fruit temp;
	int i,j;
	for( i=1;i<n;i++){
		if(fruits[i].pear>fruits[i-1].pear){
			temp = fruits[i];
	 		for( j=i-1;temp.pear>fruits[j] .pear&& j>=0;j--){
	 			fruits[j+1]=fruits[j];
			 }
			 fruits[j+1]=temp;
		}

	}

	for( i=1;i<n;i++){
		if(fruits[i].apple>fruits[i-1].apple){
			temp = fruits[i];
	 		for( j=i-1;temp.apple>fruits[j].apple && j>=0 ;j--){
	 			fruits[j+1]=fruits[j];
			 }
			 fruits[j+1]=temp;
		}
	}


   return 0;
}
int main(){
	int i,j,n,t,m;
		scanf("%d",&t);
		while(t){
			scanf("%d%d",&n,&m);
			
			for(i = 0;i < n;i++){
			scanf("%d %d",&fruits[i].apple,&fruits[i].pear);
			fruits[i].mark=i+1;
			}
			
	   	 	InsertSort(fruits,n);
	   	 
			for(j=0;j<m;j++){
				if(j==m-1)
	    			printf("%d\n",fruits[j].mark);
	    		else  
					printf("%d ",fruits[j].mark);
	    		
			}
			t--;
		}

	
	return 0;
}

Double click to view unformatted code.


Back to problem 5