Вопрос:

Программа демонстрирует применение алгоритма STL - mismatch. Каков будет вывод в консоль?

Ответ:

Решение:

Алгоритм std::mismatch сравнивает два диапазона элементов и возвращает пару итераторов на первый элемент, в котором диапазоны отличаются. Если элементы совпадают до конца одного из диапазонов, возвращаются итераторы на конец первого диапазона и соответствующий элемент второго диапазона.

  1. Сначала создается вектор myvector и заполняется значениями: 10, 20, 30, 40, 50.
  2. Затем определяется массив myints со значениями: 10, 20, 80, 320, 1024.
  3. std::mismatch сравнивает myvector.begin() (указывает на 10) с myints (указывает на 10).
  4. Первый элемент совпадает (10 == 10).
  5. Второй элемент совпадает (20 == 20).
  6. Третий элемент не совпадает: в myvector это 30, а в myints — 80.
  7. std::mismatch вернет итератор на элемент 30 в myvector и указатель на элемент 80 в myints.
  8. mypair.first будет указывать на 30, а mypair.second — на 80.
  9. Оператор cout выведет значения, на которые указывают эти итераторы, разделенные пробелом.

Ответ: 30 80

Подать жалобу Правообладателю