资源简介

从文件中读出文本 比较相似度 以链表的形式存储 统计相同单词数 相同单词出现的次数 相同单词后面跟着的4个词中的相同单词个数……加权算出相似度

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include
#include
using namespace std;
class Compare
{
public:ifstream infile1infile2;
   list arcarc1ardard1;
   map data1data2;
   map> pos1pos2;
   list samewordssame;
   map naborsamewords;
   map fangcha;
   void create()
   {
   string filewords;
   //cout<<“请输入第一个文件名:“<    infile1.open(“control.txt“ios::in);
   //infile1.open(fileios::in);
   while(!infile1.eof())
   {
   infile1>>words;
   size_t p1;
   p1=test(words);
   if(p1!=string::npos)
   {
   string words1words2;
   words1.assign(words0int(p1));arc.push_back(words1);
   words2.assign(words.begin()+int(p1)+1words.end());arc.push_back(words2);
   }
   else
   {
   arc.push_back(words);
   }  
   }
   arc1.assign(arc.begin()arc.end());
   //cout<<“请输入第二个文件名:“<    infile2.open(“control1.txt“ios::in);
   //infile2.open(fileios::in);
   while(!infile2.eof())
   {
   infile2>>words;
   size_t p1;
   p1=test(words);
   if(p1!=string::npos)
   {
   string words1words2;
   words1.assign(words0int(p1));ard.push_back(words1);
   words2.assign(words.begin()+int(p1)+1words.end());ard.push_back(words2);
   }
   else
   {
   ard.push_back(words);
   }
   }
   ard1.assign(ard.begin()ard.end());
   }
   size_t test(string s)
   {
   size_t t;
   t=s.find(‘‘);if(t!=string::npos){return t;}
   t=s.find(‘.‘);if(t!=string::npos){return t;}
   t=s.find(‘?‘);if(t!=string::npos){return t;}
   t=s.find(‘!‘);if(t!=string::npos){return t;}
   t=s.find(‘:‘);if(t!=string::npos){return t;}
   t=s.find(‘\‘‘);if(t!=string::npos){return t;}
   t=s.find(‘\“‘);if(t!=string::npos){return t;}
   t=s.find(“……“);if(t!=string::npos){return t;}
   t=s.find(“......“);if(t!=string::npos){return t;}
   t=s.find(“。“);if(t!=string::npos){return t;}
   t=s.find(“<“);if(t!=string::npos){return t;}
   t=s.find(“>“);if(t!=string::npos){return t;}
   t=s.find(“““);if(t!=string::npos){return t;}
   t=s.find(“-“);if(t!=string::npos){return t;}
   t=s.find(“”“);if(t!=string::npos){return t;}
  // t=s.find(“,“);if(t!=string::npos){return t;}
   return string::npos;
   }
   void getdata()
   {
   int a=0;string s;
   while(!arc1.empty())
   {
   s=arc1.front();a=countwords1(s);
   data1[s]=a;
   }
   while(!ard1.empty())
   {
   s=ard1.front();a=countwords2(s);
   data2[s]=a;
   }
   }
   int countwords1(string s)
   {
   int a=0; 
   list::iterator it;
   for(it=arc1.begin();it!=arc1.end();it++)
   {
   if(s.compare(*it)==0)
   {
   a++;
   }
   }
   arc1.remove(s);
   ret

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1168  2013-04-12 18:11  201192474郑杨\christmas.txt

     文件        635  2013-04-14 09:24  201192474郑杨\control.txt

     文件        635  2013-04-14 09:24  201192474郑杨\control1.txt

     文件       1409  2013-04-13 22:21  201192474郑杨\wonderful.txt

     文件       1229  2013-04-13 22:28  201192474郑杨\wonderful2.txt

     文件       7431  2013-04-14 10:20  201192474郑杨\相似度.cpp

     文件     212727  2013-04-14 10:19  201192474郑杨\运行结果1.jpg

     文件      43818  2013-04-14 10:19  201192474郑杨\运行结果2.jpg

     文件     164674  2013-04-14 10:20  201192474郑杨\运行结果3.jpg

     文件      71243  2013-04-14 10:21  201192474郑杨\运行结果4.jpg

     目录          0  2013-04-14 10:22  201192474郑杨

----------- ---------  ---------- -----  ----

               504969                    11


评论

共有 条评论