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");
}