/* STL */ #include #include #include #include #include #include #include #include #include #include #include #include #include /* STD */ #include #include #include #include using namespace std; // Объединяем записи, используя имена в качестве ключей struct entry { long nr; char name[30]; bool operator<(const entry &b) const { return strcmp(name, b.name) < 0; } }; int main (int argc, char *argv[]) { entry a[3] = {{10, "Betty"}, {11, "James"}, {80, "Jim"}}, b[2] = {{16, "Fred"}, {20, "William"}}, c[5], *p; merge(a, a+3, b, b+2, c); for (p=c; p != c+5; p++) cout << p->nr << " " << p->name << endl; cout << endl; return 0; }