0
私は与えられた2つの値(N、M)に基づいて "+"記号の文字列を出力しました。今、私は第3の与えられた値(K)に基づいて文字列内の文字をランダムに置き換える方法を見つけようとしています。文字は文字列(l)に格納されます。私は、置換機能を使用する必要があると思うが、私はどのように(今のところコメントになっているのか)わからない。どんな助けもありがとうございます。文字列内の文字をランダムに置き換える方法は?
#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