Поиск паттернов
Часть раздела Основы путешествия по Rust на Coddy. Урок 74 из 75.
Задание
ЛегкоСоздай программу, которая получает на вход два массива строк размером 8 и 3 соответственно и определяет, встречается ли второй массив в качестве шаблона внутри первого массива (в последовательном порядке).
Шаблон существует, если все элементы второго массива встречаются вместе, в том же порядке, где-либо внутри первого массива, как при поиске подстроки в строке.
Установи result в значение true, если arr2 встречается в arr1. Строка ниже твоего кода выводит это значение.
Например:
let arr1 = ["1", "2", "3", "4", "5", "6", "7", "8"];
let arr2 = ["3", "4", "5"];
// prints truelet arr1 = ["5", "6", "7", "8", "9", "1", "2", "3"];
let arr2 = ["6", "8", "9"];
// prints false (not consecutive)Попробуйте сами
let mut input_str_arr_1 = String::new();
let mut input_str_arr_2 = String::new();
io::stdin().read_line(&mut input_str_arr_1).unwrap();
io::stdin().read_line(&mut input_str_arr_2).unwrap();
let arr1: Vec<String> = input_str_arr_1.trim().split(',').map(String::from).collect();
let arr2: Vec<String> = input_str_arr_2.trim().split(',').map(String::from).collect();
let mut result = false;
// Напишите свой код ниже
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор Rust