私はこのようなものを印刷できるコードを書こうとしています
-xv
-xvv
-xvvv
-xvvvv
-xvvvvv
-xxv
-xxvv
-xxvvv
-xxvvvv
-xxvvvvv
-xxxv
-xxxvv
-xxxvvv
-xxxvvvv
-xxxvvvvv
3つの「グループ」間の余分な間隔は、わかりやすくするためのものです。'-'の最大数は1、'x'は3、'v'は5であり、各シンボルの数は増加します。
この図を描くために、私は次のコードを持っています
for (k = 1 ; k <= num_dash ; k++)
{
for (i = 1 ; i <= num_x ; i++)
{
for (j = 1 ; j <= num_v ; j+++)
{
for (k1 = 0 ; k1 < k ; k++)
printf("-");
for (i1 = 0 ; i1 < i ; i++)
printf("x");
for (j1 = 0 ; j1 < j ; j++)
printf("v");
printf("\n");
}
}
}
これは、3種類のシンボルがあることを私が知っているときです。シンボルの数が実行時にのみわかっている場合、同じことを行うことは可能ですか?たとえば、同じプログラムで印刷できるようにしたい場合はどうすればよいですか?
xv
xvv
xvvv
xvvvv
xvvvvv
xxv
xxvv
xxvvv
xxvvvv
xxvvvvv
xxxv
xxxvv
xxxvvv
xxxvvvv
xxxvvvvv
この場合、私のコードは
for (i = 1 ; i <= num_x ; i++)
{
for (j = 1 ; j <= num_v ; j+++)
{
for (i1 = 0 ; i1 < i ; i++)
printf("x");
for (j1 = 0 ; j1 < j ; j++)
printf("v");
printf("\n");
}
}
そして、forループは3つではなく2つしかありません。forループの数が変化するようにコードを記述できますか?