C ++,将重复的实例从数组返回到字符串

时间:2016-12-10 19:55:54

标签: c++ arrays

背景:这不是家庭作业,它是对基本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循环,一行一行,我很可能需要把东西保存到一个数组来计算,但我不是确定如何实现这样的东西。我甚至考虑使用阵列进行凯撒式转换,但如果这是解决方案,我不知道该去哪里。

1 个答案:

答案 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;
}

我已经编写了代码,所以如果有任何编译错误我很抱歉。