समस्या
C प्रोग्रामिंग भाषा में स्ट्रक्चर्स का उपयोग करके क्रिकेटर के डेटा को औसत रन के आधार पर सॉर्टेड ऑर्डर में टेबुलर फॉर्म में स्टोर करना।
समाधान
आइए क्रिकेटर की जानकारी जैसे नाम, उम्र, मैचों की संख्या और औसत रन दर्ज करने का प्रयास करें। इसे रनटाइम पर कंसोल पर स्ट्रक्चर कॉन्सेप्ट का उपयोग करके दर्ज किया जाएगा।
और जानकारी को औसत रन के आधार पर सॉर्टेड ऑर्डर में टेबुलर फॉर्म में प्रदर्शित करने का प्रयास करें ताकि प्रत्येक व्यक्ति का विवरण स्पष्ट रूप से पहचाना जा सके।
औसत रन के आधार पर क्रिकेटर्स को आरोही क्रम में सॉर्ट करने के लिए हमने जिस लॉजिक का उपयोग किया वह है:
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);
}
/******************/
/* रिकॉर्ड्स सॉर्ट करना */
/*******************/
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