c++中删除文档中多余的句子

在程序的文件夹中创建一个输入文档在里面随机输入几行英语语句,运行程序,删除重复的句子,并记录这个句子重复了多少次后,输出
输入.txt
i have it
i have it
i dont have it
i have it
输出.txt
i have it
i dont have it
i have it 重复三次

运行结果及代码如下,如有帮助,请帮忙采纳一下,谢谢。

img

代码:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
    ifstream inf("in.txt"); //读文件
    string arr[1000],tmp;
    int nmb[1000] ={0};
    int t=0,j;
    if (!inf.is_open())
    {
        cout << "文件打开失败"<<endl;
        return 0;
    }
    while(!inf.eof())
    {
        getline(inf,tmp);
        for (j=0;j<t;j++)
        {
            if(tmp.compare(arr[j]) == 0)
            {
                nmb[j]++;
                break;
            }
        }
        if(j==t)
        {
            arr[t] = tmp;
            nmb[t] = 1;
            t++;
            cout << tmp << endl;
        }
    }

    for (j=0;j<t;j++)
    {
        if(nmb[j] >=2)
            cout << arr[j] << " 重复" << nmb[j] << "次"<<endl;
    }
    inf.close();
    return 0;

}