Определить все возможные перестановки символов в данной строке - C (СИ)
Формулировка задачи:
Добрый день, имеется рекурсивный код, задача которого определить все возможные перестановки символов в данной строке.Каким образом можно сделать так, чтобы получаемые строки не выводились на экран, а помещались в массив ?
void swap (char *x, char *y) { char temp; temp = *x; *x = *y; *y = temp; } void permute(char *a, int i, int n) { int j; if (i == n) printf("%s\n", a); else { for (j = i; j <= n; j++) { swap((a+i), (a+j)); permute(a, i+1, n); swap((a+i), (a+j)); } } } int main(int argc, char** argv){ char str[] = "abc"; permute(str,0,2); return (EXIT_SUCCESS); }
Решение задачи: «Определить все возможные перестановки символов в данной строке»
textual
Листинг программы
qsort(m, count, MAXLEN, strcmp);
Объяснение кода листинга программы
В данном коде используется функция qsort (сортировка) для сортировки символов в строке. Список действий:
m
- указатель на массив символов в строкеcount
- количество символов в строкеMAXLEN
- максимальная длина строкиstrcmp
- функция сравнения символов Код сортирует символы в строке по алфавиту.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д