文章中字符出现概率统计c++
时间: 2024-02-23 12:59:00 浏览: 68
你可以使用C++的STL库中的map来实现字符出现概率的统计,具体实现如下:
```c++
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
string str = "Hello, World!";
map<char, int> mp;
for (int i = 0; i < str.length(); i++) {
mp[str[i]]++;
}
for (auto it = mp.begin(); it != mp.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
这段代码中,我们使用了map<char, int>来记录每个字符出现的次数,遍历字符串时每出现一个字符就将其对应的计数器加1,最后遍历map输出每个字符和其出现的次数。
相关问题
文章中字符出现概率统计c++fstream
如果你想对一个文件中的字符出现概率进行统计,可以使用C++中的fstream库来读取文件,并且对读取到的字符进行统计。具体实现如下:
```c++
#include <iostream>
#include <fstream>
#include <map>
#include <string>
using namespace std;
int main() {
ifstream fin("filename.txt");
if (!fin.is_open()) {
cout << "Failed to open the file!" << endl;
return 0;
}
map<char, int> mp;
char ch;
while (fin.get(ch)) {
mp[ch]++;
}
fin.close();
for (auto it = mp.begin(); it != mp.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
这段代码中,我们首先使用ifstream库打开文件,然后使用while循环读取文件中的每个字符,并对其进行统计。最后关闭文件,遍历map输出每个字符和其出现的次数。注意,在使用fstream库读取文件时,需要判断文件是否成功打开,否则可能会出现读取失败的情况。
文章中字符出现概率统计c++fstream 库
如果你想将字符出现概率统计结果保存到文件中,可以使用C++中的fstream库来写入文件。具体实现如下:
```c++
#include <iostream>
#include <fstream>
#include <map>
#include <string>
using namespace std;
int main() {
ifstream fin("filename.txt");
if (!fin.is_open()) {
cout << "Failed to open the file!" << endl;
return 0;
}
map<char, int> mp;
char ch;
while (fin.get(ch)) {
mp[ch]++;
}
fin.close();
ofstream fout("result.txt");
if (!fout.is_open()) {
cout << "Failed to create the result file!" << endl;
return 0;
}
for (auto it = mp.begin(); it != mp.end(); it++) {
fout << it->first << ": " << it->second << endl;
}
fout.close();
return 0;
}
```
这段代码中,我们首先使用ifstream库打开文件并进行字符出现概率统计,然后使用ofstream库创建一个新的文件,并将统计结果写入其中。需要注意的是,在使用ofstream库写入文件时,需要判断文件是否成功创建,否则可能会出现写入失败的情况。
阅读全文