Ho provato a creare un programma in grado di segnalare, tramite la funzione any, l'indice del vettore in cui si incontra il primo carattere uguale a quello presente nel secondo vettore;
in questo caso i vettori sono principale (quello in cui cercare i caratteri uguali) e cerca (quello contenente i caratteri da cercare)
Il programma non funzione in quanto mi stampa sempre 4199333 sia che io inserisca un carattere contenuto, sia che io inserisca un carattere che non lo sia.
Codice PHP:
#include <stdio.h>
int getline(char[]);
int any(char[],char[]);
main()
{
char cerca[]="politeama";
char vettore[1000];
while ((getline(vettore))>0){
if(any(vettore,cerca)>-1)
printf ("%d", any);
else if(any(vettore,cerca)==-1)
printf("\nnon c'e'\n");
}
}
int getline (char vetto[]){
int c,i;
for(i=0; (c=getchar())!= EOF && c!= '\n';i++)
vetto[i]=c;
if (c== '\n')
vetto[i++]=c;
vetto[i]='\0';
return i;
}
int any(char principale[] , char pattern[]){
int i,j;
for( i=j=0; principale[i]!= '\0' || principale [i]!= pattern[j]; j++)
{
if(pattern[j]== '\0')
{i++; j=0;}
else if (principale[i]!= pattern[j])
;
}
if (principale[i]== pattern[j])
return i;
else if (principale[i]== '\0')
return -1;
}