| 
 | 
вернуться в форумthis works! #include <stdio.h> #include <string.h> #include <ctype.h> FILE *in,*out;   char words[1000][100]; char data[10000]; char temp[5120];   int match( int k ){  int d=0;   int f=0;      while ( temp[f] ){     if ( words[k][f]!=temp[f] ) d++;      if ( d>1 )       return 0;        f++;    }     return d==1; }   void main( void ){ //in=fopen( "input.txt", "r" ); in=stdin; out=stdout;   //char temp[512]; int i,j,k; i=0; while ( 1 ){  fscanf( in, "%s", temp );   if ( temp[0]=='#' )    break;   strcpy( words[i], temp );   i++; }   j=0; fgetc(in); while ( !feof(in) )   data[j++]=fgetc(in); j-=2; data[j]=0; ///j-=2;   int ncorrect=0; int p;   for ( k=0; k<j; k++ ){     while ( ispunct(data[k]) )    k++;     p=0;      while ( k<j && isalpha(data[k]) )       temp[p++]=data[k++];      temp[p]=0;       int c;  for ( c=0; c<i; c++ )   if ( strlen(words[c])==p )    if ( match(c) ){     memcpy( &data[k-p],words[c],p );     ncorrect++;    }  }     for ( k=0; k<j; k++ )    fputc( data[k], out );  fprintf( out, "\n%d\n", ncorrect );   }  |  
  | 
|