Dovresti modificare un po , il programma di partenza !





questo è il tuo programma modificato , che stampa 1 se è sottoarray , 0 se no
ma poi ,potresti stampare una stringa che ti dice è sottovettore o no !


codice:
#include <stdio.h>
#include <stdlib.h>
#define N 10
#define M 5
int main(){
int A[N];
int B[M];
int i;
int j=0,count=0;

for(i=0;i<N;i++)
{
    scanf("%d", &A[i]);
}
{
for(i=0;i<M;i++)
{
    scanf("%d", &B[i]);

}
/* questo è il codice di Who am I
    con una correzzione , che permette di stabilire se B e sottoarray di A
    ovvio che bisognerebbe studiarselo , e cercare di capire il funzionamento
*/

for(i=0;i<N && count!=M;i++)
{
    if(A[i]==B[j])
    {
        count++;
        j++;
    }
    else
    {
        count=0;
        j=0;
       if(A[i]==B[0])
                    i--;
      /*ho aggiunto questo controllo , che se il numero non fa parte della sucessione
        del sottoarray ma è uguale al primo elemento del sottoarray , il confronto riparte
        da questo numero , non so spiegarmi meglio !*/
    }
}

if(M==count)
       printf("B e' sottovettore di A \n");
else 
       printf("B non e' sottovettore di A \n");

system("PAUSE");
}