首页 > 编程语言 >论文查重-第一次个人编程

论文查重-第一次个人编程

时间:2023-09-20 20:33:07浏览次数:43  
标签:查重 map 编程 const calculate double 论文 include string

1、github链接:https://github.com/lanzeye7/lanzeye7

2、PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 60

 85

· Estimate

· 估计这个任务需要多少时间

 180

 210

Development

开发

 50

 45

· Analysis

· 需求分析 (包括学习新技术)

 30

 20

· Design Spec

· 生成设计文档

20

10

· Design Review

· 设计复审

 20

 10

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 45

 50

· Design

· 具体设计

 30

 30

· Coding

· 具体编码

 30

 25

· Code Review

· 代码复审

 25

 20

· Test

· 测试(自我测试,修改代码,提交修改)

 30

 28

Reporting

报告

 45

 30

· Test Repor

· 测试报告

 20

 10

· Size Measurement

· 计算工作量

 345

 278

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 做作业别玩手机

 好好做,多查文献

 

· 合计

 

 

 

3、代码

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <cmath>

using namespace std;

map<string, int> calculate_word_frequency(const string& content) {
map<string, int> frequency;
istringstream iss(content);
string word;

while (iss >> word) {
frequency[word]++;
}

return frequency;
}

double calculate_dot_product(const map<string, int>& vector1, const map<string, int>& vector2) {
double dotProduct = 0;

for (const auto& pair : vector1) {
dotProduct += pair.second * vector2.at(pair.first);
}

return dotProduct;
}

double calculate_magnitude(const map<string, int>& vector) {
double magnitude = 0;

for (const auto& pair : vector) {
magnitude += pow(pair.second, 2);
}

return sqrt(magnitude);
}

double calculate_cosine_similarity(const string& file1, const string& file2) {
ifstream ifs1(file1);
ifstream ifs2(file2);
stringstream ss1, ss2;
ss1 << ifs1.rdbuf();
ss2 << ifs2.rdbuf();
ifs1.close();
ifs2.close();

string content1 = ss1.str();
string content2 = ss2.str();

map<string, int> vector1 = calculate_word_frequency(content1);
map<string, int> vector2 = calculate_word_frequency(content2);

double dotProduct = calculate_dot_product(vector1, vector2);
double magnitude1 = calculate_magnitude(vector1);
double magnitude2 = calculate_magnitude(vector2);

return dotProduct / (magnitude1 * magnitude2);
}

void write_result_to_file(const string& file, double similarity) {
ofstream ofs(file);
ofs << "重复率: " << similarity << endl;
ofs.close();
}

int main() {
string file1 = "path/to/file1.txt";
string file2 = "path/to/file2.txt";
string resultFile = "path/to/result.txt";

double similarity = calculate_cosine_similarity(file1, file2);
write_result_to_file(resultFile, similarity);

cout << "重复率计算完成!" << endl;

return 0;
}

4、结果

 

 

标签:查重,map,编程,const,calculate,double,论文,include,string
From: https://www.cnblogs.com/lanzeye/p/17718342.html

相关文章

  • 日常编程奇葩又常规问题总结
    相信大家在日常编程中遇到过不少奇葩问题,第一反应就是不可能,怎么可能会出现这个问题呢?于是抓耳挠腮,带着充满疑惑的问题,四处寻找答案。其实遇到问题并不可怕,可怕的是我们缺少解决问题的信心,正所谓只要思想不滑坡,办法总比困难多。解决问题才是打工人的价值所在,也是个人价值展现......
  • Java学习之路--GUI编程06
    packagecom.gui.lesson06;importjavax.swing.*;importjava.awt.*;//2023.3.25/3.26GUI编程--下拉框学习(Combobox)//这个程序最终运行结果不美观,正常情况下下拉框我们放在一个面板里面再添加到容器中。这里就只是演示下拉框是什么样子publicclassTestComboboxDemo01extendsJ......
  • Java学习之路--GUI编程--贪吃蛇小游戏
    贪吃蛇小游戏界面实现四步走1.定义数据2.面板里将数据画上去3.监听事件键盘事件packagecom.gui.snake;importjavax.swing.*;importjava.net.URL;//2023.3.28GUI编程--贪吃蛇小游戏的实现--数据中心(只有一堆图片的数据)--贪吃蛇各个部分的导入--图片文件夹有两种导入......
  • 《Linux命令行与shell脚本编程大全.第3版》电子书PDF+源代码
    精通Linux命令行与shell脚本编程,尽在本书中本书是关于Linux命令行和shell命令的全面参考资料,涵盖详尽的动手教程和实际应用指南,并提供相关参考信息和背景资料,带你从Linux命令行基础入手,直到写出自己的shell。时隔四年后的这一版本,针对Linux的新特性和实践,进行了全面更新:使用......
  • Java学习之路--GUI编程03
    packagecom.gui.lesson03;importjava.awt.*;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;//2023.3.20GUI编程--键盘监听学习publicclassTestKeyListener{publicstaticvoidmain(String[]args){newKeyFrame();}}//键盘监听类cla......
  • Java学习之路--GUI编程04
    packagecom.gui.lesson04;importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;//2023.3.21GUI编程--dialog(弹窗)学习publicclassDialogDemoextendsJFrame{publicDialogDemo(){this.setVisibl......
  • Java学习之路--GUI编程05
    packagecom.gui.lesson05;importjavax.swing.*;importjava.awt.*;importjava.net.URL;//2023.3.24GUI编程--Swing--JButton按钮学习publicclassJButtonDemo01extendsJFrame{publicJButtonDemo01(){Containercontainer=this.getContentPane();//Contain......
  • Java学习之路--GUI编程02
    packagecom.gui.lesson02;importjava.awt.*;importjava.awt.event.*;//2023.3.14GUI编程--事件监听学习事件监听---actionListener生成一个窗口-内置一个按钮--点击按钮输出内容,点击关闭关闭窗口publicclassTestActionEvent{publicstaticvoidmain(String[]args)......
  • 工程概论二:论文查重
    这个作业属于哪个课程表头作业要求作业要求这个作业的目标完成一个工程项目开发的详细过程,并学会使用相关工具......
  • 湖南大学结对编程个人项目互评
    1.简介本博客用于湖南大学结对编程项目中对王明扬同学个人项目的互评工作。个人项目的功能是实现一个中小学数学试卷自动生成程序,基于命令行进行操作。2.代码2.1项目结构项目由多个包组成,分别执行不同的功能:2.1.1controller:接收用户的输入,调用service层进行相应的逻辑......