Menu
Coddy logo textTech

Localizador de Padrões

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 73 de 74.

challenge icon

Desafio

Fácil

Crie um programa que receba dois números inteiros que indicam o tamanho de dois arrays de inteiros como entrada e determine se o segundo array aparece como um padrão dentro do primeiro array (em ordem consecutiva).

Um padrão existe quando todos os elementos do segundo array aparecem juntos, na mesma ordem, em algum lugar dentro do primeiro array, como encontrar uma substring dentro de uma string.

Por exemplo:

int arr1[] = {1, 2, 3, 4, 5, 6, 7};
int arr2[] = {3, 4, 5};
// Should return true
int arr1[] = {5, 6, 7, 8, 9};
int arr2[] = {6, 8};
// Should return false (not consecutive)

Experimente você mesmo

#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;
    }

    // Escreva seu código abaixo usando arr1, arr2, n1, n2


    return 0;
}

Todas as lições de Fundamentos