디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C 언어 기말고사 도와주요 ㅠ

ㅍㄹㅁㄷ갤로그로 이동합니다. 2011.12.06 14:15:49
조회 88 추천 0 댓글 1

 #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; 먼지도 모르겟고... ㅠㅠ

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

 

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
293771 시뱅 내 20분 돌려놔. [4] -쏭-갤로그로 이동합니다. 11.12.12 73 0
293770 내년에 컴공 4학년인데 이제 정보처리기사 준비하려고하는데 조언좀. [4] 크리스탈스톰(118.217) 11.12.12 138 0
293769 월요일 로딩 중 [1] ㅁㄴㄻㄹ갤로그로 이동합니다. 11.12.12 46 0
293766 벌써이번학기의 첫강의의 종강 [1] 三didas갤로그로 이동합니다. 11.12.12 49 0
293765 개발언어에 따른.. 직종의 차이랄까.. [10] 수상한김토끼갤로그로 이동합니다. 11.12.12 249 0
293763 함수가 돌다가 종료시킬려고 하는데 [2] ㅋㅋ(121.169) 11.12.12 63 0
293762 프로그래밍학원다닐라하는대 이건산전갤로그로 이동합니다. 11.12.12 83 0
293761 성님들 이제 1학년 끝나고 막 C언어 끝나가는 늅늅이인데 [1] 약므프(222.251) 11.12.12 90 0
293760 이제 내년에 4학년되는 [2] 三didas갤로그로 이동합니다. 11.12.12 103 0
293759 프갤에 정보처리기사 딴 형 잇어?? [10] ㅋㅋ(210.125) 11.12.12 194 0
293758 정전엔 뻘글이 최고지 DevilCruiser갤로그로 이동합니다. 11.12.12 38 0
293757 3학년 1학기는 23학점 들어야겠음 DevilCruiser갤로그로 이동합니다. 11.12.12 55 0
293755 검색을 하다가 실시간 검색어를 봤는데 나리링갤로그로 이동합니다. 11.12.12 59 0
293754 월요일 출근해 자리에 앉아..주말에 만난 소개팅녀를 생각해본다.. [1] 므해?갤로그로 이동합니다. 11.12.12 87 0
293753 야호 초인이 된거 같다! 일광면(119.198) 11.12.12 62 0
293751 일주일동안 자리를 비웠더니 ... [2] iljeomobolt갤로그로 이동합니다. 11.12.12 89 0
293750 자바 클래스간 메세지패싱은 call by value임? [1] DevilCruiser갤로그로 이동합니다. 11.12.12 56 0
293749 안드로이드 앱 개발하려고 하는데... [1] Diaman갤로그로 이동합니다. 11.12.12 113 0
293748 개간단한건데.. [1] 아놔(112.162) 11.12.12 82 0
293747 자바 존나 빡친다 ㅅㅂ [2] DevilCruiser갤로그로 이동합니다. 11.12.12 78 0
293746 C++ 최고의 책은 THE C++ PROGRAMMING LANGUAGE. [푸리울]갤로그로 이동합니다. 11.12.12 97 0
293745 c언어로 만든 테트리스ㅋㅋㅋㅋㅋ [2] ㅁㄴㅇㄹ(61.78) 11.12.12 179 0
293744 아흑 미치게따 앤트리 포인트를 못찾네.. [2] 일광면(119.198) 11.12.12 57 0
293743 게임 프로그래밍에 관심있는사람들 이 툴 완전 추천함 [17] 응잉앙앵(211.48) 11.12.12 235 0
293742 goto 왜안됨? 다 쓰라고 넣은거 아님? [9] 응잉앙앵(211.48) 11.12.12 141 0
293741 횽들 자바 입출력 질문좀. [1] DevilCruiser갤로그로 이동합니다. 11.12.12 44 0
293738 게임 만들거나 물리 그래픽엔진 그런쪽은 뭐라고함? [1] Lapter(121.159) 11.12.12 110 0
293737 아 시발 미안 이제 다한,, 근데 이거 몇학년꺼? [9] 응잉앙앵(211.48) 11.12.12 156 0
293735 [딴거] cancer.jpg... [2] 땡칠도사갤로그로 이동합니다. 11.12.12 126 0
293734 응잉앙앵님 멀엇나요 ㅠㅠ [3] 약므프(222.251) 11.12.12 50 0
293730 난수 생성 질문점 할게요 [14] fd(121.186) 11.12.12 81 0
293729 아아.. 다시 질문할께.. 자바 deepcopy 어떻게 해?? ㅁㄴㅇ(175.116) 11.12.12 37 0
293728 형들아 자바에서 리퍼런스타입(String)에서 주소말고 값 옮기려면??? [1] ㅁㄴㅇ(175.116) 11.12.12 54 0
293727 오늘의 구글 대문 라이토(112.214) 11.12.12 79 0
293726 NDK 랑 JNI랑 차이가 뭐임?? [2] dd(121.173) 11.12.12 76 0
293725 15kg 감량하면 외관상 많이 바뀌나여? [1] Lover♥갤로그로 이동합니다. 11.12.12 86 0
293724 C++ 잘하는 님들 종료할때 [4] 힝ㅠㅠ(121.149) 11.12.12 64 0
293723 신고합니다. 전 프갤의 뉴비입니다 [2] 좌파척결앞잡이갤로그로 이동합니다. 11.12.12 66 0
293722 p6 아키텍쳐 질문요 형님들 부두갤로그로 이동합니다. 11.12.12 37 0
293720 아 공부 해야 하는데 게임 학 ㅗ있다 1(121.146) 11.12.12 41 0
293718 보통 몇시쯤 퇴근함? [2] ㅁㄴㅂ(124.28) 11.12.12 68 0
293717 땡칠형님 마지막입니다 확인부탁드립니다 [1] 디아브로갤로그로 이동합니다. 11.12.12 84 0
293716 정확히 월차,연차 주는 회사 vs 급할때 막 봐주는 회사 [4] ㅅㄱㅅㄱㅅㄱ갤로그로 이동합니다. 11.12.12 156 0
293714 아 시발 개뻘짓하는중인가... [1] DevilCruiser갤로그로 이동합니다. 11.12.11 49 0
293712 하루에 15시간 일하는데 담배피러 가는거 안되는거냐 [6] ㅁㄴㅂ(124.28) 11.12.11 157 0
293711 음화화, 됐다 [7] 땡칠도사갤로그로 이동합니다. 11.12.11 125 0
293710 c++ 배우고 있는데 님들 공부 하는 방법좀 가르쳐 줘... [5] 1(121.146) 11.12.11 56 0
293709 헠! 데니스 리치선생님이 돌아가셨다구요? [1] ㅌㅅㅇ(183.99) 11.12.11 67 0
293708 형들 요즘 보안공부 어떤 쪽이 대세임? ㅌㅅㅇ(183.99) 11.12.11 126 0
293707 형들 이것 좀 봐줘( C 코딩 ) [6] C초보(203.236) 11.12.11 128 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2