Помогите, пожалуйста, понять, как проверить, что у меня такой же номер, но в другом порядке.
void ft_print_comb(void)
{
int hun;
int doz;
int uni;
hun = 0;
doz = 1;
uni = 2;
solver(hun, doz, uni);
}
void print( char f, char se, char thi)
{
ft_putchar(f);
ft_putchar(se);
ft_putchar(thi);
ft_putchar(',');
}
void solver(int x, int y, int z)
{
while (x < 9){
while (y<8){
while (z<7){
if (x < y && y < z ){
print(x, y, z);
}
z++;
}
y++;
}
x++;
}
}
Создайте функцию, которая отображает все различные комбинации трех разных цифр в по возрастанию, по возрастанию - да, повторение добровольное.
012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789
987 нет, потому что 789 уже есть. 999 нет, потому что цифра 9 присутствует более одного раза.
что ты уже испробовал?
Вам необходимо сохранить все сгенерированные комбинации и пройти их. Если нет, вы можете генерировать комбинации без повторения, даже не проверяя, был ли уже сгенерирован текущий набор, с соответствующей рекурсивной функцией / алгоритмом.
Вы должны печатать xyzТолько, когда x < y и y < z! (теперь объясните себе, почему это так)
Это вопрос домашнего задания?
@ Джордж. Будьте осторожны, запрашивая минимальный воспроизводимый пример. Как правило, это хорошая идея, но она действительно отлично работает только с вопросами «У меня неправильный код». Этот вопрос здесь больше похож на вопрос «Не знаю, с чего начать».
обновил мой пример кода





Самый простой способ - убедиться, что вы никогда не создаете такие повторяющиеся числа. Вот пример:
int main(void){
int i, j, k;
for (i = 0; i <= 9; i++) {
for (j = i+1; j <= 9; j++) {
for (k = j+1; k <= 9; k++) {
printf("%d%d%d\n", i, j, k);
}
}
}
}
В приведенном выше примере у вас будут все возможные комбинации неповторяющихся чисел в одном и том же порядке. Это всегда будет гарантировать, что i <j <k;
Вы можете найти и другие способы.
Интересно, повлечет ли безобидный конфликт со стандартами более низкую оценку за то, чтобы сдать это как домашнее задание.
@Yunnosch: думаю, ты должен оставить их что-то делать. :-)
@BobJarvis Ни в коем случае, если StackOverflow выполняет домашнее задание за кого-то, то на 100%. Вздох. Посмотреть историю редактирования ...
Пожалуйста, укажите минимальный воспроизводимый пример вашей попытки.