Учитывая массив строк, я должен найти максимум (в лексикографическом смысле) в каждой строке и сделать строку из этого. Я пришел с этой функцией:Найти максимум в строке
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;
}
«са» является массив строк, «строка», очевидно, является массив символов.
Проблема в том, что она, кажется, игнорирует первый символ. Какая ошибка?
Знаете ли вы, что функция 'strcmp/strcmpi'? – i486
why 'if (str_arr [i] [j]> str_arr [i] [j + 1])'? когда вы хотите найти максимальное значение, которое вам нужно сравнить с текущим максимумом –
Это похоже на чистый вопрос C. Почему тег 'C++'? – Angew