#include <stdio.h>


char a[100][80], b[100][80], aa[100][80], bb[100][80];

int saa[100], sbb[100];
int na, nb;

 

void load_data()

   FILE *in1, *in2;
   int res, i,j;
   char ch;

 

    in1 = fopen(\"texta.txt\", \"r\");
    i=0;

    j=0;

 
   while (1)
    {
         res = fscanf(in1, \"%c\", &ch);
         if (res==EOF)
          break;
  
         if (ch==\'\\n\')
         {
            a[i][j]=0;
            i++;
            j=0;
         }

        else
         {
            a[i][j]=ch;
             j++;
         }
     }

       na=i;


     in2 = fopen(\"textb.txt\", \"r\");
     i=0;

     j=0;

 

    while (1)
    {
       res = fscanf(in2, \"%c\", &ch);
       if (res==EOF)
        break;

 

      if (ch==\'\\n\')
       {
          b[i][j]=0;
          i++;
          j=0;
       }

 

      else
      {
          b[i][j]=ch;
           j++;
      }
    }
 
     nb=i;

}


void remove_space()                                         /* 복수개의 스페이스를 한개로 바꾸어 줌*/

   int i,j,k;

 
   for (k=0;k<na;k++)
    {
        i=0;
        j=0;

      
        while (a[k][i] == \' \')
         i++;                                                                    /* 앞의 빈칸 skip */


         while ((i<80) && (a[k][i] != 0))
          {
              if ((i>0) && (a[k][i] == \' \') && (a[k][i-1] == \' \'))
                    i++;

             else
              {
                  aa[k][j] = a[k][i];
                    i++;
                    j++;
               }
          }

      
              if ((j>0)&&(aa[k][j-1] == \' \'))
             {
                  aa[k][j-1]=0;
                  saa[k] =j-1;
             }

    
              else
              {
                aa[k][j] =0;
                saa[k] = j;
              }
   }

 
   for (k=0;k<nb;k++)
   {
         i=0;
        j=0;

  
     while (b[k][i] == \' \')
       i++;                                                                  /* 앞의 빈칸 skip */

  
      while ((i<80) && (b[k][i] != 0))
     {

          if ((i>0) && (b[k][i] == \' \') && (b[k][i-1] == \' \'))
               i++;
  
          else
           {
                bb[k][j] = b[k][i];
                  i++;
                 j++;
          }
       }

  
       if ((j>0)&&(bb[k][j-1] == \' \'))
        {

              bb[k][j-1]=0;
              sbb[k]=j-1;
        }

        else
         {
              bb[k][j] =0; sbb[k]=j;
         }
       }

}

==============================================================================

int compare_line(char x[80], char y[80], int sx, int sy)
{                                                                                     /*한 줄의 텍스트가 정확히 일치하는가*/

     int i;

     if ((sx == sy) && (sx >2))
         {                                                                          /* if the length is equal && more than 2 words*/
            for (i=0; i<sx; i++)
  
                if (x[i]!=y[i])
  
       return 0;
                                                                                         /* else if ((x[i]==0)&&(y[i]==0)) return 1; */
       return 1;
           }

    else

    return 0;
}

int compare_text(int nline1,int nline2)
{                                                                                        /*라인이 같은 경우가 몇번 발생하는가?*/

 int i, j, same, same_count;
 
 same_count=0;
                                                                                 /* printf (\"nline %d %d\\n\", nline1, nline2); */
for (i=0; i<nline1; i++)
 {
   for (j=0; j<nline2; j++)
    {
       same = compare_line (aa[i], bb[j], saa[i], sbb[j]);
                                                                                      /* printf (\"%d %d %s %s\\n\", saa[i], sbb[j], aa[i], bb[j]); */
       if (same==1)
       {
            same_count++;
       }                                                             /* printf(\">>>>>the line %d and %d is same %d\\n\",i, j, same_count); */
     }
 }

  return same_count;
}


void decision(int same_count)
{
       printf (\"전체 문장 수 %d %d 라인 중복 횟수 %d \\n\", na, nb, same_count);

 
  if (same_count > na/10)

  printf (\"아무래도 베낀 문장 같습니다.\\n\");

 else
  printf(\"Looks like an original text.\\n\");
}

 

int main()
{
   int i;
   int same_cnt=0;
   load_data();

   remove_space();
                                                                          /* for (i=0;i<na;i++)
                                                                             printf(\".....%d..%s===%s...\\n\", saa[i], a[i], aa[i]);
                                                                            for (i=0;i<na;i++)
                                                                             printf(\".....%d..%s===%s...\\n\", sbb[i], b[i], bb[i]); */
same_cnt=compare_text(na, nb);
                                                                        /* printf(\"++++%d++++++++\\n\", same_cnt); */
decision(same_cnt);

return 0;
}

횽들 ===================== 위에 껀 파일 라인수 읽는거랑 공백제거 자나요 이부분은 대충 알겟는대

밑에 소스는 모르겠어요 ㅠㅠ

전 int main() 만 써봐서

void decision(int same_count) 이런건 어떤건지도 모르겟고

return 0; 만 써봐서 return 1; return same_count; 먼지도 모르겟고... ㅠㅠ

이 소스에 텍스트 파일에 총 글자수가 몇개 인지 알아보는 소스도 알려주세요 ㅠ