समस्या
सी प्रोग्रामिंग भाषा में संरचनाओं का उपयोग करके औसत रन के आधार पर क्रमबद्ध क्रम में क्रिकेटर के डेटा को सारणीबद्ध रूप में कैसे स्टोर करें।
समाधान
आइए क्रिकेटर की जानकारी जैसे नाम, उम्र, मैचों की संख्या और उनके द्वारा बनाए गए औसत रन दर्ज करने का प्रयास करें। इसे स्ट्रक्चर कॉन्सेप्ट का इस्तेमाल करते हुए रनटाइम के दौरान कंसोल में एंटर किया जाएगा।
और प्रत्येक व्यक्ति द्वारा बनाए गए औसत रनों के आधार पर क्रमबद्ध क्रम में जानकारी को सारणीबद्ध रूप में प्रदर्शित करने का प्रयास करें ताकि प्रत्येक व्यक्ति के विवरण को स्पष्ट रूप से पहचानना आसान हो।
हम क्रिकेटरों को उनके द्वारा बनाए गए औसत रनों के आधार पर आरोही क्रम में क्रमबद्ध करने के लिए तर्क देते हैं -
for(i=0;i<2;i++){ for(j=i+1;j<2;j++){ if(c[i].avrn > c[j].avrn){ temp1=c[i]; c[i]=c[j]; c[j]=temp1; } } }
कार्यक्रम
#include<stdio.h> #include<conio.h> #include<string.h> struct cricketer{ char name[50]; int age; int match; float avrn; char temp; }; struct cricketer c[20],temp1; void main() { int i,j; for(i=0;i<2;i++){ printf("Enter data of cricketer %d\n",i+1); //fflush(stdin); printf("Name: "); gets(c[i].name); printf("\nAge: "); scanf("%d",&c[i].age); printf("\nMatches: "); scanf("%d",&c[i].match); printf("\n\nAverage runs: "); scanf("%f",&c[i].avrn); scanf("%c",&c[i].temp); } /******************/ /* sorting records */ /*******************/ for(i=0;i<2;i++) { for(j=i+1;j<2;j++) { if(c[i].avrn > c[j].avrn){ temp1=c[i]; c[i]=c[j]; c[j]=temp1; } } } printf("Sorted records:\n"); for(i=0;i<2;i++){ printf("%d\t%s\t%d\t%d\t%f\n\n\n",i+1,c[i].name,c[i].age,c[i].match,c[i].avrn); } getch(); }
आउटपुट
Enter data of cricketer 1 Name: Dhoni Age: 39 Matches: 150 Average runs: 200 Enter data of cricketer 2 Name: virat Age: 36 Matches: 135 Average runs: 190 Sorted records: 1 virat 36 135 190.000000 2 Dhoni 39 150 200.000000