在字符串中查找最大值
Find the maximum in a string
给定一个字符串数组,我必须在每个字符串中找到最大值(在字典编纂意义上),并从中创建一个字符串。我已经拿出了这个功能:
void get_max_string(sa str_arr, int dim, string max_car) {
int i, j;
for(i=0; i<dim; i++) {
for(j = 0 ; j+1 < strlen(str_arr[i]) ; j++) {
if (str_arr[i][j] > str_arr[i][j+1])
max_car[i] = str_arr[i][j];
}
}
return;
}
"sa"是一个字符串数组,"string"显然是一个字符数组。
问题是它似乎忽略了第一个字符。错误是什么?
这是一个解决方案,我尝试使用您的代码。你的代码的问题是你没有max_arr[i]
赋给初始值。
void get_max_string(sa str_arr, int dim, string max_car) {
int i, j;
for(i=0; i<dim; i++) {
max_car[i] = str_arr[i][0]; //init max_car[i] with the first letter
for(j = 0 ; j + 1< strlen(str_arr[i]) ; j++) {
if (max_car[i] < str_arr[i][j+1])
max_car[i] = str_arr[i][j+1]; // find a larger value
}
}
return;
}
既然你标记了这个 c++,我会使用 c++。例如像这样(未测试)
string get_max_string(const vector<string>& sa) {
string res;
for_each(begin(sa), end(sa), [&res](const string& s){
res.push_back(*max_element(s.begin(), s.end()));
});
return res;
}
相关文章:
- 在二维数组中查找最小值和最大值?
- 以C++递归方式查找向量中的最大值
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- C++ 函数,用于查找传入的 N 个数字的平均值、总和、最小值和最大值
- 查找包含 N 个元素的数组的最小值和最大值
- 查找不在标准中的第一个值::设置<int>最小-最大值
- 查找 std::vector 中的最小值和最大值 std::p air
- 递归函数,用于查找 2 个整数之间的最大值
- 如何修复错误:使用向量查找最小值和最大值进行合并排序
- C++程序来查找输入数字的最小/最大值
- 在 openCV 矩阵中查找列最大值的索引和值
- 在二维向量的每一列中查找最大值
- 查找测试的最小值和最大值
- 从二维数组中查找最小值和最大值
- 在随机数组中查找最小值和最大值
- C++ 查找流数据的最大值
- 在数组 c++ 中查找最小值和最大值
- 查找 for 循环数组C++中存在最大值和最小值的值
- 用于在具有更新查询的二维矩阵中查找最大值的最佳数据结构
- 查找元组元素 C++ 的最大值