/* STL */ #include <algorithm> #include <deque> #include <functional> #include <iterator> #include <list> #include <map> #include <memory> #include <numeric> #include <queue> #include <set> #include <stack> #include <utility> #include <vector> /* STD */ #include <iostream> #include <string> #include <cstdlib> #include <math.h> 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; }