Informatică, întrebare adresată de granini2000, 9 ani în urmă

Cerința

Se dă un vector x cu n elemente, numere naturale și un vector y cu m elemente, numere naturale. Să se verifice dacă vectorul y este secvență în vectorul x.
Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, elementele vectorului x, apoi numărul m, iar apoi m numere naturale, elementele vectorului y.
Date de ieșire

Programul va afișa pe ecran numărul p, reprezentând poziția din vectorul x de unde începe secvența y, dacă y este secvență în x, respectiv mesajul NU dacă y nu este secvență în x.
Restricții și precizări

1 ≤ m ≤ n ≤ 1000
elementele celor doi vectori vor fi indexate de la 1
dacă vectorul y este de mai multe ori secvență în x se va afișa poziția de început a primei apariții

Răspunsuri la întrebare

Răspuns de passbrain123
7
#include <iostream>
using namespace std;
int main() {    int  m,n, x[1005], y[1005], contor=0;    cin>>n;    for (int i=1; i<=n; i++)        cin>>x[i];    cin>>m;    for (int i=1; i<=m; i++)        cin>>y[i];    for (int i=1; i<=n; i++) {        int k1=i, k2=1;        while (x[k1]==y[k2] && k2<=m) {            k1++;            k2++;        }        if (k2==m+1) contor++;    }    cout<<contor;    return 0;}
Anexe:
Alte întrebări interesante