码迷,mamicode.com
首页 > 其他好文 > 详细

7-44 基于词频的文件相似度 (30分)--map

时间:2020-04-28 20:10:39      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:单词   for   增加   font   target   基于   namespace   相同   大写   

代码来源

 1 #include<iostream>
 2 #include <map>
 3 #include <iomanip>
 4 #include <string>
 5 #include <cstring>
 6 using namespace std;
 7 map<string, bool>m[101];//如果第i个文件存在单词word,则m[i][word] = true;
 8 int same[101][101] = { 0 };
 9 int num[101] = { 0 };
10 int main()
11 {
12     int N;
13     cin >> N;
14     for (int i = 1; i <= N; i++)
15     {
16         char ch;
17         int cnt = 0;
18         char t_word[11];
19         while ((ch = toupper(cin.get())) != #)//统一转换为大写字母
20         {
21             if (ch >= A && ch <= Z)
22             {
23                 if (cnt < 10) t_word[cnt++] = ch;/*如果cnt>=10,则cnt不会增加,停留在第10个字母后边,
24                                                  直至遇到第一个非字母时将t_word[cnt]置为‘\0‘*/
25             }
26             else
27             {
28                 t_word[cnt] = \0;
29                 if (cnt >= 3)
30                 {
31                     m[i][t_word] = true;
32                 }
33                 cnt = 0;
34             }
35         }
36         map<string, bool>::iterator it;
37         for (it = m[i].begin(); it != m[i].end(); it++)
38         {
39             for (int j = 0; j < i; j++)//判断是否有相同的单词,每有一个sam[i][j]就加一
40             {
41                 if (m[j][it->first] == true)
42                     same[i][j] = same[j][i] += 1;
43                 else
44                     same[i][j] = same[j][i] += 0;
45             }
46         }
47         same[i][i] = num[i] = m[i].size();
48     }
49     int M;
50     cin >> M;
51     for (int i = 0; i < M; i++)
52     {
53         int a, b;
54         cin >> a >> b;
55         cout << fixed << setprecision(1) << same[a][b] * 100.0 / (1.0 * (num[a] + num[b] - same[a][b])) << % << endl;
56     }
57     return 0;
58 }

 

7-44 基于词频的文件相似度 (30分)--map

标签:单词   for   增加   font   target   基于   namespace   相同   大写   

原文地址:https://www.cnblogs.com/2020R/p/12796787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!