Напишите программу, которая берет два целых массива от пользователя (не более 50 членов). Первый массив должен быть длиннее второго; затем проверяет, существуют ли все элементы во втором массиве в первом порядке, в том же порядке, независимо от расстояния между членами в первом массиве. Наконец, программа сообщает пользователю, включено это условие или нет.
Длина массивов не имеет значения, если вы знаете их длину. В любом случае, вы должны проверить, чтобы пройти мимо них.
Здесь алгоритм:
if length of array2 is greater than 1, end. // All of array can't be in array 1.
// Find the first element of array 2 that is in array 1:
// Note: this only searches up to array1.length - array2.length,
// because of the restriction of ordering and length of array 2.
key = first element of array 2.
found = false;
for (index = 0; index < (array1.length - array2.length); ++index)
if (array[index] == key) then found = true, break out of loop.
end-for
if not found, end. // No use in detailed searching.
// Now compare the elements of the two arrays, one by one,
// starting with the second element of array2 and the element
// of array1 at (index + 1).
Есть более эффективные алгоритмы, но это должно заставить вас начать, пока кто-то не разместит точный код, поэтому вам не придется делать какие-либо работы самостоятельно.