我有两个 txt 文件都多次使用相同的单词。我设法将它们都拉入数组并通过插入排序格式化了其中一个非格式化的 txt 文件。
现在我需要比较这两个格式化的数组来找到最常用的词以及它们被使用的次数。
我知道我可以使用 for 循环,遍历每个数组,但我不确定如何。有什么帮助吗?
编辑:这是我到目前为止所拥有的。
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
const int size = 100;
void checkIF(string x)
{
fstream infile;
cout << "Attempting to open ";
cout << x;
cout << "\n";
infile.open(x);
if( !infile )
{
cout << "Error: File couldn't be opened.\n";
}
else
{
cout << "File opened succsesfully.\n";
}
}
void checkFile()
{
string f1 = "text1.txt", f2 = "abbreviations.txt";
checkIF(f1);
checkIF(f2);
}
string* readFiles(string txt1[],string abb[])
{
fstream intxt1("text1.txt");
fstream inabb("abbreviations.txt");
int i = 0;
while (!intxt1.eof())
{
intxt1 >> txt1[i];
//cout << txt1[i];
i++;
}
while (!inabb.eof())
{
inabb >> abb[i];
//cout << abb[i];
i++;
}
return txt1;
return abb;
}
string* insertionSort(string txt1[], int arraySize)
{
int i, j;
string insert;
for (i = 1; i < arraySize; i++)
{
insert = txt1[i];
j = i;
while ((j > 0) && (txt1[j - 1] > insert))
{
txt1[j] = txt1[j - 1];
j = j - 1;
}
txt1[j] = insert;
}
return txt1;
}
void compare(string txt1[],string abb[])
{
}
void main()
{
string txt1Words[size];
string abbWords[size];
checkFile();
readFiles(txt1Words,abbWords);
insertionSort(txt1Words,100);
compare(txt1Words,abbWords);
system("Pause");
}