矢量和频率搜索

vectors and frequency search

本文关键字:搜索 频率      更新时间:2023-10-16

我正在创建一个程序,用于记录现有文件中数字的频率。我的向量名是test,那么为什么它说test没有定义呢?

可能是我漏掉了什么小东西....

#include <ostream>
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
using namespace std;

int main()
{
string fileName;
int aTest;
cout << "Enter a File Name:";
cin >>fileName;
ifstream inFile (fileName.c_str());
if (! inFile)
{
cout << "!!Error in opening file 'test.dat'"<< endl;
    }
while( inFile >> aTest)
    vector <int> test (101, 0)
    test[aTest]++;
system("pause");
return 0;
}

您应该在while循环之外定义您的向量,并且您应该添加适当的{}以使您的逻辑正确。

试题:

 vector <int> test(101, 0); //^missing semicolon
 while( inFile >> aTest) {
    test[aTest]++;
  }

同时,不要使用using namespace std,这是不好的做法。

除了:

  #include <ostream> //^^remove one of them, don't include unnecessary headers
  #include <iostream>

您有一个语法错误,test应该在循环之外定义。

  vector<int> test(101, 0); // Removed whitespace and added semi-colon.
  while(inFile >> aTest) {  // Use braces for a new block.
    test[aTest]++;
  }