Mag1str
@Mag1str

Какой тип данных использовать?

Сортирует по цифре нормально, а дальше нужна сортировка по букве, если цифра одинакова.
60c633d0ebbde616907578.png
Использую char clas[15];
for (int i = 0; i < count; i++)
                for (int j = 0; j < count; j++)
                    if (ob[i].clas[0] < ob[j].clas[0]) {
                        tem = ob[i];
                        ob[i] = ob[j];
                        ob[j] = tem;
                    }
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Сравнивайте дальше третии символы в строках, если первые совпадают.
Или сравнивайте строки через strcmp.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Mag1str
@Mag1str Автор вопроса
for (int i = 0; i < count; i++)
                    if (ob[i].clas[0] < ob[j].clas[0]) {
                        tem = ob[i];
                        ob[i] = ob[j];
                        ob[j] = tem;
                            for (int i = 0; i < count; i++)
                                if (ob[i].clas[0] < ob[j].clas[0]) {
                                    tem = ob[i];
                                    ob[i] = ob[j];
                                    ob[j] = tem;
                    }
                    }
Ответ написан
@Yokozuna
использую тип string для работы со строками вы можете их корректно в рамках данной задачи сравнивать:

string a1 = "1-Б";
    string a2 = "1-A";

    if (a1 < a2) {
        // ...
    } else {
       // ...
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы