Mr Nobody
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору #include <string.h> #include <stdio.h> #define MAX_LENGTH 4 void permutation(const char* src, int len) { char buffer[MAX_LENGTH + 1]; char head; int idx; head = src[0]; for(idx = 1; idx <= len; idx++) buffer[idx] = src[idx]; printf(" %s\n", src); for(idx = 1; idx < len; idx++) { buffer[idx - 1] = buffer[idx]; buffer[idx] = head; printf(" %s\n", buffer); } } void left_shift(char buffer[], int len) { char head; int idx; head = buffer[0]; for(idx = 1; idx < len; idx++) buffer[idx - 1] = buffer[idx]; buffer[len - 1] = head; } int main() { char ptr[MAX_LENGTH + 1]; int idx, len; printf("Enter word for permutation\n" "Max characters in this word %d ", MAX_LENGTH); scanf("%s", ptr); fflush(stdin); len = strlen(ptr); printf("\nPermutated words\n\n"); for(idx = 0; idx < len; idx++) { left_shift(ptr, 4); permutation(ptr, 4); } return 0; } |