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
Exemplu
Intrare
10
8 5 8 5 2 3 10 7 1 6
6
8 5 2 3 10 7
Ieșire
3
in C++
Răspunsuri la întrebare
Răspuns de
2
#include <iostream>
using namespace std;
int main() {
int m,n, x[1005], y[1005], k;
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) k=i; }
if (k!=0) cout<<k;
else cout<<"NU";
return 0;
}
using namespace std;
int main() {
int m,n, x[1005], y[1005], k;
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) k=i; }
if (k!=0) cout<<k;
else cout<<"NU";
return 0;
}
Alte întrebări interesante
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă