Поиск шаблонов
Часть раздела Основы путешествия по C++ на Coddy — урок 73 из 74.
Задание
ЛегкоСоздайте программу, которая получает на вход два целых числа, указывающих размер двух массивов целых чисел, и определяет, появляется ли второй массив в качестве паттерна внутри первого массива (в последовательном порядке).
Паттерн существует, когда все элементы второго массива появляются вместе, в том же порядке, где-то внутри первого массива, подобно поиску подстроки в строке.
Например:
int arr1[] = {1, 2, 3, 4, 5, 6, 7};
int arr2[] = {3, 4, 5};
// Should return trueint arr1[] = {5, 6, 7, 8, 9};
int arr2[] = {6, 8};
// Should return false (not consecutive)Попробуйте сами
#include <iostream>
#include <vector>
#include <string>
int main() {
int n1;
int n2;
std::cin >> n1;
std::cin >> n2;
std::cin.ignore();
int arr1[n1];
int arr2[n2];
for (int i = 0; i < n1; i++) {
int val;
std::cin >> val;
arr1[i] = val;
}
for (int i = 0; i < n2; i++) {
int val;
std::cin >> val;
arr2[i] = val;
}
// Напишите свой код ниже, используя arr1, arr2, n1, n2
return 0;
}Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else