ページ 11

棒グラフを出力する方法について

Posted: 2014年1月30日(木) 23:59
by kbbb
C言語初心者です。
標準入力からもらった整数を縦棒グラフで出力させたいのですが、
整数を入力するところがうまくいきません。


お知恵をお貸しください。

コード:

#include<stdio.h>
#define MM 100

int main(void)
{
	int i, j, d[MM], d2[MM][MM];

	printf("入力された整数を縦の棒グラフに変換します。\n");
	printf("※1から100までの数字を100回まで入力することができます。\n");
	printf("整数を入力してください : \n");
	scanf_s("%d", MM);

	for (i = 0; i<MM; i++)
	for (j = 0; j<MM; j++)d2[i][j] = 0;

	for (i = 0; i<MM; i++)
	for (j = 0; j<d[i]; j++)d2[j][i] = 1;

	for (i = MM - 1; i>-1; i--){
		for (j = 0; j<MM; j++){
			if (d2[i][j] == 1)printf("*");
			else printf(" ");
		}
		printf("\n");
	}

	return 0;
}

Re: 棒グラフを出力する方法について

Posted: 2014年1月31日(金) 00:15
by みけCAT
kbbb さんが書きました:整数を入力するところがうまくいきません。
どういう動作が目標で、現状はどうなってしまいますか?

Re: 棒グラフを出力する方法について

Posted: 2014年1月31日(金) 00:23
by kbbb
整数を入力するのですが、2つ目を入力すると動作を停止してしまいます。
目標は、適当な整数をいくつか入力して、それをグラフで表すようにしたいです。

Re: 棒グラフを出力する方法について

Posted: 2014年1月31日(金) 00:55
by みけCAT
kbbb さんが書きました:

コード:

scanf_s("%d", MM);
ポインタを渡すべき場所にMM、すなわち100を渡しています。
1つ目を入力しても動作を停止しないのが不思議ですね。
本当はどの変数に値を読み込みたいのですか?

Re: 棒グラフを出力する方法について

Posted: 2014年1月31日(金) 02:16
by 初級者
scanfで値を得ようとしている
MM
が、「変数になっていない」
というのは、ひじょうに
まずいと思います。