Я напечатал строку символов «+» на основе двух заданных значений (N, M). Теперь я пытаюсь выяснить, как заменить символы в случайном порядке в указанной строке на основе третьего заданного значения (K). Символы сохраняются в строке (l). Я думаю, что мне нужно использовать функцию replace, но я не знаю, как (поэтому почему это сейчас в комментарии). Любая помощь приветствуется.Как заменить символ случайным образом в строке?
#include <stdio.h>
unsigned int randaux()
{
static long seed=1;
return(((seed = seed * 214013L + 2531011L) >> 16) & 0x7fff);
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char s[1000];
int N, M, K, l;
printf("N: ");
scanf("%d",&N);
printf("M: ");
scanf("%d",&M);
printf("K: ");
scanf("%d",&K);
printf("\n");
gets(s);
l=strlen(s);
/* Mostre um tabuleiro de N linhas e M colunas */
if(N*M<K){
printf("Not enough room.");
}else if(N>40){
printf("Min size 1, max size 40.");
}else if(M>40){
printf("Min size 1, max size 40.");
}else{
for(int i=0; i<N; i++)
{
for(int j=0; j<M; j++)
{
printf("+", s[j]);
}
printf("\n", s[i]);
}
for(int l=0; l<K; l++)
{
/*s.replace();*/
}
}
return 0;
}
Непонятный вопрос. Мало того, что 'randaux()' не вызывается, но если это так, он использует одно и то же семя каждый раз. –
Вы пытаетесь «переработать» код, который вы нашли, но не написали? Возможно, но маловероятно, что закомментированный 's.replace();' - код C. –
@Weather Vane randaux не называется, потому что я не знаю, когда его называть. Семя в данный момент является статичным для тестирования со статическими результатами. – Kuro