Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी प्रोग्राम छात्र रिकॉर्ड को संरचनाओं के रूप में संग्रहीत करने और उन्हें नाम से क्रमबद्ध करने के लिए


इस समस्या में, हमें एक छात्र का रिकॉर्ड दिया जाता है जिसमें छात्र_आईडी, छात्र_नाम, छात्र_प्रतिशत होता है। हमारा काम छात्र रिकॉर्ड को संरचना के रूप में संग्रहीत करने और उन्हें नाम से क्रमबद्ध करने के लिए एक सी प्रोग्राम बनाना है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट - छात्र रिकॉर्ड =

{{ student_id = 1, student_name = nupur, student_percentage = 98},
{ student_id = 2, student_name = Akash, student_percentage = 75},
{ student_id = 3, student_name = Yash, student_percentage = 62},
{ student_id = 4, student_name = Jyoti, student_percentage = 87},
{ student_id = 5, student_name = Ramlal, student_percentage = 80}}

आउटपुट - छात्र रिकॉर्ड =

{{ student_id = 2, student_name = Akash, student_percentage = 75},
{ student_id = 4, student_name = Jyoti, student_percentage = 87},
{ student_id = 1, student_name = nupur, student_percentage = 98},
{ student_id = 5, student_name = Ramlal, student_percentage = 80},
{ student_id = 3, student_name = Yash, student_percentage = 62}}

इस समस्या को हल करने के लिए, हम पहले एक संरचना बनाएंगे जो छात्र के विवरण को संग्रहीत करेगी। अब, हम qsort() का उपयोग करेंगे और उस qsort में, हम इस qsort के लिए एक तुलनित्र फ़ंक्शन को परिभाषित करेंगे जो strcmp() विधि का उपयोग करके संरचना के नामों की तुलना करेगा।

उदाहरण

छात्र रिकॉर्ड को संरचनाओं के रूप में संग्रहीत करने और उन्हें नाम से क्रमबद्ध करने का कार्यक्रम

//C program to store Student records as Structures and Sort them by Name
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Student {
   int student_id;
   char* student_name;
   int student_percentage;
};
int comparator(const void* s1, const void* s2){
   return strcmp(((struct Student*)s1)->student_name,((struct Student*)s2)->student_name);
}
int main() {
   int n = 5;
   struct Student arr[n];
   //student 1
   arr[0].student_id = 1;
   arr[0].student_name = "Nupur";
   arr[0].student_percentage = 98;
   //student 2
   arr[1].student_id = 2;
   arr[1].student_name = "Akash";
   arr[1].student_percentage = 75;
   //student 3
   arr[2].student_id = 3;
   arr[2].student_name = "Yash";
   arr[2].student_percentage = 62;
   //student 4
   arr[3].student_id = 4;
   arr[3].student_name = "Jyoti";
   arr[3].student_percentage = 87;
   //student 5
   arr[4].student_id = 5;
   arr[4].student_name = "Ramlal";
   arr[4].student_percentage = 80;
   printf("Unsorted Student Record:\n");
   for (int i = 0; i < n; i++) {
      printf("Id = %d, Name = %s, Age = %d \n", arr[i].student_id, arr[i].student_name, arr[i].student_percentage);
   }
   qsort(arr, n, sizeof(struct Student), comparator);
   printf("\n\nStudent Records sorted by Name:\n");
   for (int i = 0; i < n; i++) {
      printf("Id = %d, Name = %s, Age = %d \n", arr[i].student_id, arr[i].student_name, arr[i].student_percentage);
   }
   return 0;
}

आउटपुट

Unsorted Student Record:
Id = 1, Name = Nupur, Age = 98
Id = 2, Name = Akash, Age = 75
Id = 3, Name = Yash, Age = 62
Id = 4, Name = Jyoti, Age = 87
Id = 5, Name = Ramlal, Age = 80
Student Records sorted by Name:
Id = 2, Name = Akash, Age = 75
Id = 4, Name = Jyoti, Age = 87
Id = 1, Name = Nupur, Age = 98
Id = 5, Name = Ramlal, Age = 80
Id = 3, Name = Yash, Age = 62

  1. रेडिक्स सॉर्ट के लिए सी प्रोग्राम

    एक सॉर्टिंग एल्गोरिथम एक एल्गोरिथम है जो एक लिस्टिंग के घटकों को एक निश्चित क्रम में रखता है। सबसे अधिक उपयोग किए जाने वाले आदेश संख्यात्मक क्रम और शब्दावली क्रम हैं। मूलांक सॉर्ट एक गैर-तुलनात्मक सॉर्टिंग एल्गोरिदम है। रेडिक्स सॉर्ट एल्गोरिथम अक्रमित सूची के लिए सबसे पसंदीदा एल्गोरिथम है। यह प्रा

  1. Microsoft Access में रिकॉर्ड कैसे सॉर्ट और फ़िल्टर करें

    सॉर्टिंग . का उपयोग करना और फ़िल्टरिंग टूल आपकी पहुंच . बनाते हैं रिकॉर्ड और डेटाबेस अधिक व्यवस्थित और समझने में आसान, खासकर यदि आप अपनी डेटाबेस फ़ाइल खोलते समय पहली नज़र में डेटा को समझना चाहते हैं। इस ट्यूटोरियल में, हम डेटा को सॉर्ट करने और फ़िल्टर करने के बीच अंतर और एक्सेस में रिकॉर्ड्स को सॉर्

  1. अंतराल को मर्ज करने और उन्हें पायथन में आरोही क्रम में क्रमबद्ध करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक सूची अंतराल है, हमें क्रमबद्ध क्रम में उनका मिलन खोजना होगा। इसलिए, यदि इनपुट inv =[[2, 5],[4, 10],[20, 25]] जैसा है, तो आउटपुट [[2, 10], [20, 25]] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सूची अंतरालों को क्रमबद्ध करें उत्तर:=एक नई सूची अंतराल में प्रत्येक प्रार