如何查找两个字符串 c++ 中常用字符的数量
How to find the number of common characters in two strings c++
如果字符串 1 和字符串 2 大小相等,我们如何找到常用字符的数量并存储到某个 int 中?
例如:
string A = "abcdabc"
string B = "cabzabc"
常见的字符数是 7 个字符中的 6 个(计算重复项)。
到目前为止,我有:
int count = 0;
for(int I = 0; I < A.size(); I++)
{
if(A[I] == B[I]
{
count++;
}
}
但是当我输出计数时,它= 0。
编辑:让它工作伙计们,我的初始化字符串有问题,但现在很好!谢谢。
您当前正在计算的是这两个字符数组在某个索引上是否具有相同的字符。这显然不是你所希望的。 一些选项: 1.创建地图并存储每个字母的出现次数,然后进行比较 2. 遍历一个数组,对于那里的每个字符,迭代完成其他数组并计算出现次数 3.按字母顺序对这些数组进行排序,您将看到每个字母在每个数组中出现的次数
编辑:让我们通过您的代码运行:
I = 0; A[I] = 'a'; B[I] = 'c' //are they the same? count = 0
I = 1; A[I] = 'b'; B[I] = 'a' //are they the same? count = 0
I = 2; A[I] = 'c'; B[I] = 'b' //are they the same? count = 0
I = 3; A[I] = 'd'; B[I] = 'z' //are they the same? count = 0
I = 4; A[I] = 'a'; B[I] = 'a' //are they the same? count = 1
I = 5; A[I] = 'b'; B[I] = 'b' //are they the same? count = 2
I = 6; A[I] = 'c'; B[I] = 'c' //are they the same? count = 3
相关文章:
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 如何在C++中从字符串中分割字符
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 指向指向字符数组的指针数组的指针
- 如何用转义符替换字符串中的所有特殊字符
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 比较字符数组
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何在C++中确定文本文件中的元素是字符还是数字
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 计算在同一位置至少包含一个常用字符的不同字符串对
- 函数返回两个字符串的第一个常用字符
- 如何查找两个字符串 c++ 中常用字符的数量