- #include <stdio.h>
- #define TAM 5 // tamaño del array
- // incremento circular
- void inc(int* p) { if(*p == TAM-1) *p=0; else (*p)++; }
- int main(void)
- {
- int a_base[TAM]={ 1, 6, 3, 9, 1 }; // array base
- int a_test[TAM]={ 3, 9, 1, 1, 6 }; // array a comprobar
- int b=0; // índice para el array base
- int t=0; // índice para el array test
- int cnt=0; // contador de ciclos
- // si la base ha llegado al final (está contenida)
- // o si test ha llegado al final (no está contenida)
- // entonces acabo el bucle
- while(b<TAM && t<TAM)
- {
- if(a_base[b]==a_test[t]) { b++; inc(&t); } // si son iguales incremento
- else { b=0; t=++cnt; } // si no, empiezo en siguiente ciclo
- }
- // si la base llegó al final entonces si está contenida
- return 0;
- }
- /* mark */
Recent Pastes