Source.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //ПРОВЕРОЧНОЕ ЗАДАНИЕ ДЛЯ СОИСКАТЕЛЯ
  2. //
  3. //Дана последовательность отсчетов, представляющих собой пары(int Х : int Y).
  4. // //Отсчеты упорядочены по значениям Х.
  5. //В этой последовательности могут встречаться непрерывные подпоследовательности,
  6. // состоящие из идентичных отсчетов.Идентичные отсчеты имеют одинаковые значения Y.
  7. //
  8. //Реализовать функцию, прореживающую исходную последовательность следующим образом :
  9. //В каждой подпоследовательности идентичных отсчетов оставить
  10. // только первый и последний отсчеты, а так же каждый n - ный отсчет(n > 2).
  11. //Вывести на экран последовательность до и после применения функции прореживания.
  12. //
  13. //Язык программирования : C++.
  14. //Тип приложения : консольное.
  15. //Входные данные задаются непосредственно в тексте программы(жесткое кодирование).
  16. //
  17. //Пример.
  18. //Исходная : (1, 10) (2, 11), (3, 11), (4, 11), (5, 11) (6, 10) (7, 11) (8, 11) (9, 11) (10, 11) (11, 10)
  19. //Результат при n = 3 : (1, 10) (2, 11), (4, 11), (5, 11) (6, 10) (7, 11) (9, 11) (10, 11) (11, 10)
  20. //Результат при n = 4 : (1, 10) (2, 11), (5, 11) (6, 10) (7, 11) (10, 11) (11, 10)
  21. #include "Header.h"
  22. using namespace std;
  23. int main()
  24. {
  25. map<int, int> m_int{ {1, 10} ,{2, 11}, {3, 11}, {4, 11}, {5, 11}, {6, 10}, {7, 11}, {8, 11}, {9, 11}, {10, 11}, {11, 10} };
  26. Print(m_int);
  27. thin_out(m_int, 3);
  28. Print(m_int);//(1, 10) (2, 11), (4, 11), (5, 11) (6, 10) (7, 11) (9, 11) (10, 11) (11, 10)
  29. map<int, int> m_int2{ {1, 10} ,{2, 11}, {3, 11}, {4, 11}, {5, 11}, {6, 10}, {7, 11}, {8, 11}, {9, 11}, {10, 11}, {11, 10} };
  30. Print(m_int2);
  31. thin_out(m_int2, 4);
  32. Print(m_int2);//(1, 10) (2, 11), (5, 11) (6, 10) (7, 11) (10, 11) (11, 10)
  33. return 0;
  34. }