#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX_REMIND 50
#define MSG_LEN 60
int read_line(char str[] , int n);
int main( void )
{
char reminders[MAX_REMIND][MSG_LEN+3];
char day_str[3] , msg_str[MSG_LEN+1];
int day , i , j , num_remind=0;
for(;;){
if( num_remind == MAX_REMIND){
printf("-- No space left --\n"); break;
}
printf(" Enter day and reminder : ");
if( day == 0 || day < 0)
break;
read_line(msg_str, MSG_LEN);
for(i=0; i < num_remind; i++)
if(strcmp(day_str
, reminders
[i
]) < 0 ) break;
for(j=num_remind; j>i; j--)
strcpy(reminders
[j
], reminders
[j
-1]);
strcpy(reminders
[i
] , day_str
); strcat(reminders
[i
] , msg_str
);
num_remind++;
}
if( !num_remind )
for(i=0; i < num_remind; i++)
printf(" %s\n" , reminders
[i
]);
return 0;
}
//----------------------------------------------------------------------
int read_line(char str[] , int n)
{
int ch , i =0 ;
while( (ch
= getchar()) !='\n' && i
<n
) str[i++]= ch;
str[i]='\0';
return i;
}
//----------------------------------------------------------------------
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPHN0ZGxpYi5oPgojZGVmaW5lIE1BWF9SRU1JTkQgNTAKI2RlZmluZSBNU0dfTEVOIDYwIAppbnQgcmVhZF9saW5lKGNoYXIgc3RyW10gLCBpbnQgbik7CgppbnQgbWFpbiggdm9pZCApCnsKICAgIGNoYXIgcmVtaW5kZXJzW01BWF9SRU1JTkRdW01TR19MRU4rM107CgljaGFyIGRheV9zdHJbM10gLCBtc2dfc3RyW01TR19MRU4rMV07CglpbnQgZGF5ICwgaSAsIGogLCBudW1fcmVtaW5kPTA7CgkKCWZvcig7Oyl7CgkJaWYoIG51bV9yZW1pbmQgPT0gTUFYX1JFTUlORCl7CgkJCXByaW50ZigiLS0gTm8gc3BhY2UgbGVmdCAtLVxuIik7CgkJCWJyZWFrOwoJCX0KCSAgICBwcmludGYoIiBFbnRlciBkYXkgYW5kIHJlbWluZGVyIDogIik7CgkgICAgc2NhbmYoIiUyZCIsICZkYXkpOwoJICAgIAoJICAgIGlmKCBkYXkgPT0gMCB8fCBkYXkgPCAwKQoJICAgICAgICBicmVhazsKCSAgICAKCSAgICBzcHJpbnRmKGRheV9zdHIgLCAiJTJkIiAsIGRheSk7ICAKCSAgICByZWFkX2xpbmUobXNnX3N0ciwgTVNHX0xFTik7IAoJICAgIAoJICAgIGZvcihpPTA7IGkgPCBudW1fcmVtaW5kOyBpKyspCgkJCWlmKHN0cmNtcChkYXlfc3RyICwgcmVtaW5kZXJzW2ldKSA8IDAgKQoJCQkgICAgYnJlYWs7ICAKCSAgICAKCSAgICBmb3Ioaj1udW1fcmVtaW5kOyBqPmk7IGotLSkKCQkJc3RyY3B5KHJlbWluZGVyc1tqXSwgcmVtaW5kZXJzW2otMV0pOwoKCQlzdHJjcHkocmVtaW5kZXJzW2ldICwgZGF5X3N0cik7CgkJc3RyY2F0KHJlbWluZGVyc1tpXSAsIG1zZ19zdHIpOwoJICAgIAoJCW51bV9yZW1pbmQrKzsKCX0KCQoJaWYoICFudW1fcmVtaW5kICkKCQkgICAgZXhpdCgxKTsKCQoJcHJpbnRmKCJcbkRheSBSZW1pbmRlclxuIik7CgkKCWZvcihpPTA7IGkgPCBudW1fcmVtaW5kOyBpKyspCgkJcHJpbnRmKCIgJXNcbiIgLCByZW1pbmRlcnNbaV0pOwogICAKICAgICAgICByZXR1cm4gMDsKfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaW50IHJlYWRfbGluZShjaGFyIHN0cltdICwgaW50IG4pCnsKCWludCBjaCAsIGkgPTAgOwoJCgl3aGlsZSggKGNoPSBnZXRjaGFyKCkpICE9J1xuJyAmJiBpPG4pICAKCQlzdHJbaSsrXT0gY2g7CgkKCXN0cltpXT0nXDAnOwoJCglyZXR1cm4gaTsKfQovLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCg==