Рандомизировать буквы в строке на C

#c #random #permutation

#c #Случайный #перестановка

Вопрос:

У меня есть, например, «asd», и я хочу, чтобы он был рандомизирован в DAS, DSA, SAD, вы знаете. Как я могу это закодировать? Попробовал несколько решений, но на самом деле это не сработало.

 #include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>


int main()
{
    printf("type in the wordn");
    char haslo[128];
    scanf("%s", haslo);
    char set[128];
    char hasloa[128];
    strcpy(set, haslo);
    unsigned int Ind = 0;
    srand(time(NULL)   rand());
    int len = strlen(set);
    while(Ind < len)
    {
        hasloa[Ind  ] = set[rand()%62];
    }
    hasloa[len] = '';
    printf("%s", hasloa);
    return 0;
}
  

Комментарии:

1. И эти решения были?

2. Покажите нам, «что на самом деле не сработало»

3. Это называется перестановками . Что вы пробовали до сих пор?

4. Что заставляет вас думать, что ваше решение может сработать?

5. Используется set[rand()%len] для рандомизации. Для случайной перестановки требуется больше работы.

Ответ №1:

Измените 62 внутри цикла while на «len»