तारीख संख्या दिन, महीना और वर्ष है। दिनांक प्रदर्शित करने के कई तरीके हैं।
यहां, हमारे पास चयन प्रकार का उपयोग करके तिथियों को क्रमबद्ध करने का एक कार्यक्रम है। तो आइए उन चीजों के बारे में जानें जो इस अवधारणा में उपयोग की जाती हैं।
तिथियों को क्रमित करना
तारीखों को छांटने की अवधारणा के लिए तारीखों और उनकी मान्यताओं के बारे में स्पष्ट और अच्छी तरह से वाकिफ होना चाहिए। इससे पहले कि हम छँटाई तकनीक आज़माएँ, हमें यह जाँचने की ज़रूरत है कि क्या उपयोगकर्ता द्वारा दर्ज की गई तारीख 29-2 की तरह वैध तारीख है या नहीं, यह केवल लीप वर्ष के लिए मान्य है।
तारीखों के सत्यापन के बाद तारीखों की छंटाई आती है। छँटाई के लिए, हम उल्टे क्रम में वर्ष छँटाई करेंगे, फिर उसी वर्ष छँटाई के महीनों के लिए और फिर उसी महीने छँटाई की तारीखों के लिए।
चयन क्रम
चयन सॉर्ट एक सॉर्टिंग एल्गोरिदम है जो तत्वों को न्यूनतम तत्व ढूंढकर और इसे सरणी की शुरुआत में रखकर और फिर सरणी को छोटा करके सॉर्ट करता है। इसलिए, प्रत्येक तत्व को आरोही क्रम में उनके संबंधित स्थान पर रखें।
यह प्रोग्राम उपयोगकर्ता द्वारा इनपुट की गई तिथियों को छांटने के लिए चयन छँटाई तकनीक का उपयोग करता है।
आइए 3 तारीखों को अव्यवस्थित रूप में लें और फिर इन तारीखों को क्रमबद्ध करें।
Input : 4 1 2012 31 5 2019 19 12 2012 Output : 4 1 2012 19 12 2012 31 5 2019
स्पष्टीकरण
चूंकि सभी तिथियां मान्य हैं, कार्यक्रम इन तिथियों को क्रमबद्ध करेगा और आरोही क्रम में क्रमबद्ध करेगा।
उदाहरण
#include<iostream> using namespace std; struct date{ int day; int month; int year; int valid = 1; }; int datevalidate(int dd, int mm, int yy){ if(yy>=100 && yy<=9999){ if(mm>=1 && mm<=12){ if((dd>=1 && dd<=31) && (mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)); else if((dd>=1 && dd<=30) && (mm==4 || mm==6 || mm==9 || mm==11)); else if((dd>=1 && dd<=28) && (mm==2)); else if(dd==29 && mm==2 && (yy%400==0 ||(yy%4==0 && yy%100!=0))); else return 0; } else{ return 0; } } else { return 0; } } int main(){ cout<<"Enter 5 dates to be sorted:\n"; struct date input[5]; for(int i=0; i<5; i++){ cout<<"Enter Date "<<(i+1)<<" : "; cin>>input[i].day; cin>>input[i].month; cin>>input[i].year; input[i].valid = datevalidate(input[i].day, input[i].month, input[i].year); if(input[i].valid){ cout<<"Date is invalid"; exit(0); } } for (int i=0; i<4; i++){ for (int j=i+1; j<5; j++){ if (input[i].year > input[j].year){ struct date temp = input[i]; input[i] = input[j]; input[j] = temp; } else if (input[i].year == input[j].year && input[i].month > input[j].month){ struct date temp = input[i]; input[i] = input[j]; input[j] = temp; } else if (input[i].year == input[j].year && input[i].month == input[j].month && input[i].day > input[j].day){ struct date temp = input[i]; input[i] = input[j]; input[j] = temp; } } } cout<<"Sorted dates are : \n"; for(int i=0; i<5; i++){ cout<<input[i].day<<" "<<input[i].month<<" "<<input[i].year; cout<<endl; } }
आउटपुट
Enter 5 dates to be sorted: Enter date 1 : 5 12 2019 Enter date 2 : 1 2 2012 Enter date 3 : 11 6 2324 Enter date 4 : 29 2 2652 Enter date 5 : 16 5 2012 Sorted dates are : 1 2 2012 16 5 2012 5 12 2019 11 6 2324 29 2 2652