乱数を用いるのに、その出力したものの和を固定値にさせたいです。
下のコードで言うと、
2 10
と入力すると
XXXX
XXXXXX
(和はbの大きさ、行列の行数はaの大きさ)に出力されるようなプログラムを書きたいです。
以下のままでは、和が全く無視された状態で出力されてしまうので、どのように加筆・改善すれば良いかをお尋ねしたいです。乱数は必ず使いたいです。
自分なりにも考えましたが、思い浮かびませんでした。
C
1#include<stdio.h> 2#include<stdlib.h> 3#include<time.h> 4#define MAX1 10 5#define MAX2 50 6 7int main(){ 8 9 char yama[MAX1][MAX2]; 10 int a, b, i, j; 11 srand((unsigned)time(NULL)); 12 13 printf("How many stacks and coins?\n"); 14 scanf("%d %d", &a, &b); 15 for(i = 0;i < a;i++){ 16 for(j = 0;j < rand() % (b - 1) + 2;j++){ 17 yama[i][j] = 'X'; 18 } 19 yama[i][j + 1] ='\0'; 20 } 21 for(i = 0;i < a;i++){ 22 printf("%s\n", yama[i]); 23 } 24 }
自分で調べ、引き算を使えばうまくいくのかも、と思いましたが、やり方もわからず断念しました。
よろしくお願いいたします。
ちと言ってることがわかりません。
具体的に、何をどうしたらどうなってほしいのか、詳しく説明しよう