Détecteur de motifs
Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 73 sur 74.
Défi
FacileCréez un programme qui reçoit en entrée deux entiers indiquant la taille de deux tableaux d'entiers et détermine si le second tableau apparaît comme un motif au sein du premier tableau (dans un ordre consécutif).
Un motif existe lorsque tous les éléments du second tableau apparaissent ensemble, dans le même ordre, quelque part dans le premier tableau, comme pour la recherche d'une sous-chaîne dans une chaîne de caractères.
Par exemple :
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)Essayez vous-même
#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;
}
// Écrivez votre code ci-dessous en utilisant arr1, arr2, n1, n2
return 0;
}Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriqués