Wyszukiwanie wzorów
Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 73 z 74.
Wyzwanie
ŁatwyUtwórz program, który przyjmuje jako dane wejściowe dwie liczby całkowite określające rozmiary dwóch tablic liczb całkowitych i ustala, czy druga tablica występuje jako wzorzec w pierwszej tablicy (w kolejnych pozycjach).
Wzorzec istnieje, gdy wszystkie elementy drugiej tablicy występują razem, w tej samej kolejności, gdzieś w pierwszej tablicy, podobnie jak przy wyszukiwaniu podciągu w ciągu znaków.
Na przykład:
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)Spróbuj swoich sił
#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;
}
// Napisz poniżej swój kod, używając arr1, arr2, n1, n2
return 0;
}Wszystkie lekcje w sekcji Podstawy
4Operatory — część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawy wejścia/wyjścia
Instrukcja coutInstrukcja cinWczytywanie ciągu znakówPowtórka — do 120Powtórka — prawda czy fałsz3Zmienne, część 2
Deklarowanie typówKonwencje nazewnictwaPowtórka — inicjalizacja zmiennychKonwersja typów, część 1Konwersja typów, część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator warunkowyPowtórzenie: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator C++ online