반응형
하단에 파이썬으로 만든 표절검사 프로그램의 링크가 있으니 참고바랍니다.
여기서 만들 표절 검사 프로그램은 텍스트 문서를 비교하여 유사점을 식별 합니다. 다음은 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++을 이용해서 컴파일하고 실행했습니다.

파이썬 코드:
https://coding-abc.tistory.com/268
(파이썬) 표절 검사 프로그램 Plagiarism check program
하단에 표절검사를 하는 C언어 코드가 있으니 참고하십시오. 여기서 만들 표절 검사 프로그램은 텍스트 문서를 비교하여 유사점을 식별 합니다. 다음은 Levenshtein 거리 알고리즘을 사용하여 두
coding-abc.kr
반응형
'C_C++' 카테고리의 다른 글
| (C언어) 주사위 시뮬레이션 (dice simulation) (106) | 2024.01.25 |
|---|---|
| (C언어) 중복되지 않은 단어의 개수 세는 프로그램 (108) | 2024.01.23 |
| (C언어) 토끼와 거북이 경주하기 게임 (91) | 2024.01.14 |
| (C언어) 테트리스 게임 소스 (79) | 2024.01.11 |
| (C언어) 구조체를 이용한 성적처리 프로그램, 총점 평균 석차 구하기 (3) | 2024.01.10 |