C_C++

(C언어) 표절 검사 프로그램 Plagiarism check program

고니자니 2024. 1. 22. 14:24
반응형

하단에 파이썬으로 만든 표절검사 프로그램의 링크가 있으니 참고바랍니다.

 

여기서 만들 표절 검사 프로그램은 텍스트 문서를 비교하여 유사점을 식별 합니다. 다음은 Levenshtein 거리 알고리즘을 사용하여 두 텍스트 사이의 유사성을 측정하는 C언어의 간단한 예입니다.

#include <stdio.h>
#include <string.h>

int min(int a, int b, int c) {
    int min = a;
    if (b < min) min = b;
    if (c < min) min = c;
    return min;
}

int levenshtein_distance(const char* s1, const char* s2) {
    int len1 = strlen(s1);
    int len2 = strlen(s2);

    int matrix[len1 + 1][len2 + 1];  // 비주얼스튜디오에서는 이 부분에서 오류가 날 수 있습니다.

    for (int i = 0; i <= len1; ++i) {
        for (int j = 0; j <= len2; ++j) {
            if (i == 0) {
                matrix[i][j] = j;
            }
            else if (j == 0) {
                matrix[i][j] = i;
            }
            else {
                int cost = (s1[i - 1] != s2[j - 1]);
                matrix[i][j] = min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + cost);
            }
        }
    }

    return matrix[len1][len2];
}

double similarity_percentage(const char* s1, const char* s2) {
    int distance = levenshtein_distance(s1, s2);
    int maxLength = strlen(s1) > strlen(s2) ? strlen(s1) : strlen(s2);
    return 100 * (1 - (double)distance / maxLength);
}

int check_plagiarism(const char* text1, const char* text2, double threshold) {
    double similarity = similarity_percentage(text1, text2);
    if (similarity >= threshold) {
        return 1; // Plagiarism detected
    }
    else {
        return 0; // No plagiarism detected
    }
}

int main() {
    const char* document1 = "This is a sample text for testing plagiarism.";
    const char* document2 = "This is a sample text for testing.";

    int isPlagiarized = check_plagiarism(document1, document2, 70);

    if (isPlagiarized) {
        printf("Plagiarism detected! Similarity: %.2f%%\n", similarity_percentage(document1, document2));
    }
    else {
        printf("No plagiarism detected.\n");
    }

    return 0;
}

 

비주얼스튜디오에서는 오류가 날 수 있는 부분의 코드를 확인하십시오.

여기서는 Dev C++을 이용해서 컴파일하고 실행했습니다.

(C언어) 표절 검사 프로그램 Plagiarism check program

 

 

 

파이썬 코드:

https://coding-abc.tistory.com/268

 

(파이썬) 표절 검사 프로그램 Plagiarism check program

하단에 표절검사를 하는 C언어 코드가 있으니 참고하십시오. 여기서 만들 표절 검사 프로그램은 텍스트 문서를 비교하여 유사점을 식별 합니다. 다음은 Levenshtein 거리 알고리즘을 사용하여 두

coding-abc.kr

 

반응형