다음 코드 단편은 배열의 요소를 4 문자 길이로 반복하여 (조합없이) 인쇄합니다.inner for 루프 호출을 무기한 확장
for (int i = 0; i < len; i++)
for (int j = i + 1; j < len; j++)
for (int k = j + 1; k < len; k++)
for (int l = k + 1; l < len; l++)
printf("%c%c%c%c\n", arr[i], arr[j], arr[k], arr[l]);
내 문제는 일반적인 기능 (예 : N 문자 길이의 조합을 모두 인쇄)으로 확장하는 방법을 모르겠다는 것입니다. 이와 exemple 들어
int i, j, w, x;
for(i=0; i<pow(len,len); i++){ //n^n possibilities/combinaisons
w = i;
for(j=0; j<len; j++){ //Show the combinaison
x = w%len; //We have juste to calculate the correct position with some modulos
printf("%c", array[x]);
w = w/len;
}
printf("\n");
}
:
combinationPrint(array, numberOfForLoops); // With other params if needed
무엇 당신의 시도가 실패한 모습입니까? – melpomene
_ 디버깅 도움말을 찾는 질문 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에는 원하는 동작, 특정 문제 또는 오류 및 질문 자체에서이를 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다. 분명한 문제 설명이없는 질문은 다른 독자에게 유용하지 않습니다. 다음을 참조하십시오 : 최소, 완전하고 검증 가능한 예제를 만드는 방법. –
검색 : ** 주어진 문자열의 모든 순열 **, 아마도 도움이 될 수 있습니다 : http://www.geeksforgeeks.org/write-ac- program-to-print-all-permutations-of-given-string/ – Cherubim