christi_cat
@christi_cat

Генерация слов путем сложения переменных?

Допустим есть 6 переменных

char a[10], b[10], c[10], d[20], e[15], f[5];
Мне нужно как то автоматизировать процесс генерации слов путем объединения переменная каждая с каждой(все возможные варианты) Например:

a+b
a+b+c
a+b+c+d
...
f+a+c
...

и тд Есть ли способ как то автоматизировать этот процесс?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Комбинаторика.
(одна переменная = цифра)
Перестановка каждой цифры с первой и до последней позиции, исключая повторные комбинации:
123456, 213456, ......, 234561
(213456), (123456), ....., 134562
312456, 132456, ......, 124563
.....
612345, 162345, ....., (123456)
Ответ написан
Комментировать
@vanyamba-electronics
char a[] = "aa";
char b[] = "bb";
char c[] = "cc";
char d[] = "dd";
char e[] = "ee";
char f[] = "ff";

int main() 
{
    int n, nn, x;
    int bits = 6;
    char** vars = (char**) malloc(bits * sizeof(char*));
    vars[0] = a;
    vars[1] = b;
    vars[2] = c;
    vars[3] = d;
    vars[4] = e;
    vars[5] = f;
    for (n = 0; n != (2 << bits); ++n) {
        x = n;
        for (nn = 0; nn != bits; ++nn) {
            if (x % 2)
                printf("%s", vars[nn]);
            x >>= 1;
        }
        printf("\n");
    }
    return 0;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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