Язык программирования Си


         

включает случай ошибки регистра)


- 324 - Си в UNIX

/* ИЗМЕНИЛАСЬ ОДНА БУКВА ( включает случай ошибки регистра) */ static int changed(uchar *word, uchar *s) { register int i,j,k; register len = strlen(word);

hole = (-1); for(i=0 ; i < len ; i++){ k=0; for( j=0 ; j < i ; j++) version[k++]=word[j]; version[k++]=ANYCHAR; for( j=i+1 ; j < len ; j++) version[k++]=word[j]; version[k]='\0'; if( strok( version,s)){ hole=i; return 1; /* OK */ } } return 0; /* FAIL */ }

/* УДВОЕННАЯ БУКВА */ static int duplicates(uchar *word, uchar *s, int leng) { register int i,j,k; uchar tmp[80];

if( eqi( word, s )) return 1; /* OK */

for(i=0;i < leng - 1; i++) /* ищем парные буквы */ if( word[i]==word[i+1]){ k=0; for(j=0 ; j < i ; j++) tmp[k++]=word[j]; for(j=i+1 ; j < leng ; j++) tmp[k++]=word[j]; tmp[k]='\0'; if( duplicates( tmp, s, leng-1) == 1) return 1; /* OK */ } return 0; /* FAIL */ }



Содержание  Назад  Вперед