删除停用词然后应用案例折叠(如何组合两个代码)

时间:2013-11-30 20:11:43

标签: c++ text

我有一个名为aisha的txt文件包含此

This is a new file I did it for mediu.
Its about Removing stopwords fRom the file
and apply casefolding to it
I Tried doing that many Times
and finally now I could do

我写了两个代码,就是从中删除一些停用词

#include <iostream>
#include <string>
#include <fstream>

int main()
{
    using namespace std;

    ifstream file("aisha.txt");
    if(file.is_open())
    {
        string myArray[200];

        for(int i = 0; i < 200; ++i)
        {
            file >> myArray[i];

            if (myArray[i] !="is" && myArray[i]!="the" && myArray[i]!="that"&& myArray[i]!="it"&& myArray[i]!="to"){
            cout<< myArray[i]<<"  ";
            }



        } 

    }
system("PAUSE");
return 0;
}

另一个用于四个工具的应用案例折叠

#include <iostream>
#include <string>
#include <fstream>

int main()
{
    using namespace std;

    ifstream file("aisha.txt");
    if(file.is_open())
    {
        file >> std::noskipws;
        char myArray[200];

        for(int i = 0; i < 200; ++i)
        {
            file >> myArray[i];

            if (myArray[i]=='I')
            cout<<"i";
            if (myArray[i]=='A')
            cout<<"a";
            if (myArray[i]=='T')
            cout<<"t";
            if (myArray[i]=='R')
            cout<<"r";
            else 
            if (myArray[i]!='I' && myArray[i]!='T' && myArray[i]!='R')
            cout<<myArray[i];
            }
         file.close();

        }

system("PAUSE");
return 0;
}

现在我需要将这两个代码组合成一个代码来删除停用词,然后应用大小写折叠 问题是我使用string myArray[200];表示停用词代码,char myArray[200];表示案例折叠代码 我不能只使用字符串或只使用字符 我该怎么办?

1 个答案:

答案 0 :(得分:1)

将文本处理器放在单独的函数中,并在main中逐个调用它们。不存在名称和类型冲突。

这是粗略的例子

void removeStopWords(ifstream file) {
    // put your code here for removing the stopwords
}

void applyCaseFolding(ifstream file) {
    // put your code here for applying case folding
}

int main() {
    ifstream file("aisha.txt");
    if(file.is_open()) {
         removeStopWords(file);
         applyCaseFolding(file);
    }

    return 0;
}