#include #include #include #include using namespace std; struct Date { int day; int mounts; int year; }; int sum(Date); void print(Date); int main() { fstream f("f.bin",ios::binary|ios::in|ios::out|ios::trunc); int n = 0, i = 0; cout << "Enter number of records: "; cin >> n; Date *date = new Date[n]; // memset(&date, '\0',sizeof(date)); do { cout << "day \t= "; cin >> date[i].day; cout << "mounts \t= "; cin >> date[i].mounts; cout << "year \t= "; cin >> date[i].year; i++; } while (i!=n); f.seekp(0,ios::end); f.write((const char*)&date,sizeof(date)); memset(&date, '\0', sizeof(date)); f.seekp(0,ios::beg); f.read((char*)&date,sizeof(date)); fstream g("g.bin",ios::binary|ios::in|ios::trunc); Date tmpDate; memset(&tmpDate, '\0', sizeof(tmpDate)); for (int j = 0; j < i-1 ; j++) { if (sum(date[j]) > sum(date[j+1])) { tmpDate = date[j]; date[j] = date[j+1]; date[j+1] = tmpDate; } } g.seekp(0,ios::end); g.write((const char*)&date, sizeof(date)); for (int c = 0; c < i ; c++) { print(date[c]); } f.close(); g.close(); delete []date; return 0; } int sum(Date d) { return (d.day + d.mounts + d.year); } void print(Date d) { cout << "-----------------" << endl; cout << "day \t= " << d.day << endl; cout << "mounts \t= " << d.mounts << endl; cout << "year \t= " << d.year << endl; }