Va rog ajutati-ma la problema asta cu c++ #519 pe pbinfoCerinț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.
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,m,a[1001], b[1001],ok;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
cin>>m;
for(int i=1;i<=m;i++){
cin>>b[i];
}
if(m>n){
cout<<"NU";
return 0;
}
for(int st=1;st<=n-m+1;st++){ ///st - poz din sirul a de unde pornesc
ok=1;
for(int i=1;i<=m;i++) ///potrivesc sirul b cu secv din A incepand de la poz st
{
if(a[st+i-1]!=b[i])
{
ok=0;
}
}
if(ok==1){
cout<<st;
return 0;
}
}
cout<<"NU";
return 0;
}
Explicație:
horiaradu60:
Multumesc mult!
Alte întrebări interesante
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă