ページ 11

プログラムでグラフを

Posted: 2012年2月22日(水) 21:42
by 学王
1から5の間の自然数を10個入力する。このとき入力された数の個数を棒グラフで次のように表示させる。
例: 1の入力が4回、2では2回、3では3回、4では0回、5では1回の場合
*
* *
* * *
* * * *
1 2 3 4 5
という感じです。全くできないので助けてください

Re: プログラムでグラフを

Posted: 2012年2月22日(水) 21:47
by nullptr
http://dixq.net/board/board.html
↑一応ですがフォラムルールです。

  2. どう取り組んで(作ったプログラムはどれで
  3. どのようなエラーやトラブルで困っていて
  4. 自分は何が解らないのか、知りたいのか
  5. 今のCの知識はどの程度なのか

課題を●投げする場合は、ある程度情報を載せてくださると答えやすいのです。

Re: プログラムでグラフを

Posted: 2012年2月22日(水) 22:03
by 学王
for文を使えば横にグラフを作ることはできるけど、今回はいきなり縦のグラフになってなにをしたらいいのか全くわからないんです・・・

Re: プログラムでグラフを

Posted: 2012年2月22日(水) 22:05
by Loki
Lowe さんの質問に答えないと、回答は得られませんよ。
ルールです。

Re: プログラムでグラフを

Posted: 2012年2月22日(水) 22:06
by Loki
失礼しました。
Lowe さん→lowe さん です。

Re: プログラムでグラフを

Posted: 2012年2月22日(水) 23:05
by nullptr
一応作ってみましたが、次からはフォーラムルールに沿った質問の仕方をお願いしますね。
ちなみにエラーチェックとかは省いているのでそのままコピーはダメですよ。

コード:

#include <stdio.h>

int main()
{
	int a[10];
	int b[5];
	int i,j;
	for( i = 0; i < 5; ++i ){
		b[i] = 0;
	}
	for( i = 0; i < 10; ++i ){
		scanf( "%d\n", &a[i] );
	}
	for( i = 0; i < 10; ++i ){
		++b[ a[i] - 1 ];
	}
	for( i = 10; i > 0; --i ){
		printf("%2d:", i );
		for( j = 0; j < 5; ++j ){
			b[ j ] >= i ? printf("*"): printf(" ");
		}
		printf("\n");
	}
	printf("------------------\n");
	printf("  :12345\n\n");
}

Re: プログラムでグラフを

Posted: 2012年2月22日(水) 23:08
by nullptr
あーしかもこれ最後の入力取れてない・・・まぁこんな感じでもできますよ程度に。