背景:这不是家庭作业,它是对基本c ++课程的完全可选的评论。正如我想要通过的那样,我会尽我所能地完成每个例子,这个我超级坚持,现在已经持续了大约三个小时。
问题:编写一个函数来返回一个字符串,该字符串由在a到z范围内的10 x 10小写字母字符数组的每一行中找到的最常见的小写字母组成。
如果有多个最常用的字符,请使用按字母顺序排在第一位的字符。
既不使用cin也不使用cout。
#include <iostream>
#include <string>
using namespace std;
string mostFrequent(char c[10][10]){
// this is the function I need to create
}
int main(){
char c[10][10] = {
'a','b','f','d','e','f','g','h','i','j',
'a','b','c','r','c','r','g','h','r','j',
'a','b','c','d','e','f','g','h','o','o',
'z','w','p','d','e','f','g','h','i','j',
'o','d','o','d','o','b','o','d','o','d',
'a','l','l','d','e','f','f','h','l','j',
'a','b','c','d','i','f','g','h','i','j',
'a','b','z','v','z','v','g','g','v','z',
'a','b','c','d','e','f','g','h','i','e',
'a','b','s','d','e','f','g','h','s','j',
};
cout << mostFrequent(c) << endl;
return 0;
}
所以在研究中我找到了一些材料,可以让我计算一个特定的int或char在数组中出现的次数,但它并不适合问题的需要,因为它需要返回由最常见字符组成的字符串。见下文。
int myints [] = {10,20,30,30,20,10,10,20};
int mycount = std :: count(myints,myints + 8,10);
因为它不起作用,我正在思考一个for循环,一行一行,我很可能需要把东西保存到一个数组来计算,但我不是确定如何实现这样的东西。我甚至考虑使用阵列进行凯撒式转换,但如果这是解决方案,我不知道该去哪里。
答案 0 :(得分:0)
如果我理解正确的任务,你有一个10x10的矩阵,你必须创建一个长度为10的字符串,其中位置pd.read_csv('file.csv')['Age' >= 21]
#or
pd.read_excel('file.xls')['Age' >= 21]
的字符是行{{1}中字符中最常见的字符。 }}
i
现在我们只需要实现一个函数i
。我们将通过计算所有角色并选择最常用的角色来做到这一点(或者如果有多个最常见角色,则按字母顺序排列):
string mostFrequent(char c[10][10]) {
// The idea here is to find the most common character in each row and then append that character to the string
string s = "";
for (int i = 0; i < 10; i++) s += findMostFrequentCharacter(c[i]);
return s;
}
我已经编写了代码,所以如果有任何编译错误我很抱歉。