Advertisement
Guest User

aa

a guest
Mar 22nd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4.  
  5.  
  6. bool match(int * x,int n,int *p,int nP){
  7.     int k=0;
  8.     bool match=false;
  9.     for(int i=0;i<n && !match;i++){
  10.         if(x[i]==p[k]){
  11.             k++;
  12.             if(k==nP){
  13.                 match=true;
  14.  
  15.             }
  16.         }else k=0;
  17.     }
  18.     return match;
  19. }
  20.  
  21.  
  22. int main(){
  23.  
  24.     int X[400], n_ele, nP, P[20];
  25.     cout<<"start"<<endl;
  26.     cin>> n_ele;
  27.  
  28.     for(int i=0; i<n_ele; i++)
  29.         cin >> X[i];
  30.  
  31.     int lim1,lim2,lim3;
  32.     cin>> lim1>>lim2>>lim3;
  33.  
  34.     cin >> nP;
  35.     for(int i=0; i<nP; i++)
  36.         cin>>P[i];
  37.  
  38.  
  39.     int nStratiPieni = n_ele/(lim2*lim3);
  40.     int nElultimoStrato = n_ele%(lim2*lim3);
  41.  
  42.     bool existMatch=false;
  43.     int i;
  44.  
  45.     if(nStratiPieni<=lim1){
  46.  
  47.         for(i=0;i<nStratiPieni && !existMatch;i++){
  48.             existMatch=match(X+i*(lim2*lim3),lim2*lim3,P,nP);
  49.         }
  50.  
  51.         if(existMatch){
  52.             cout << "Lo strato "<<i-1<<" di T contiene un match"<<endl;
  53.         }else if(lim1*lim2*lim3>=n_ele && match(X+i*(lim2*lim3),nElultimoStrato,P,nP)){
  54.                 cout <<"Lo strato "<<i<<" di T contiene un match"<<endl;
  55.         }else{
  56.             cout <<"Nessun match trovato"<<endl;
  57.         }
  58.  
  59.     }else{
  60.         cout <<"Nessun match trovato"<<endl;
  61.     }
  62.     cout <<"end"<<endl;
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement