teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

修正

2016/11/20 03:46

投稿

bjbjeknr
bjbjeknr

スコア26

title CHANGED
File without changes
body CHANGED
@@ -34,20 +34,22 @@
34
34
  dist[score[i] /10]++;
35
35
 
36
36
  for(j=30; j>0; j--){ /*最大値から1までをループ*/
37
- for(k=0;k < BUNPU; k++){ /*更に0からBUNPU-1までループする*/
37
+ for(k=0;k < BUNPU; k++){ /*更に0からBUNPU-1までループする*/
38
38
  if(dist[k] >=j){ /*dist[j]がi以上なら'*'そうでないなら' 'を出力する。 */
39
39
  printf("*");
40
40
  }else{
41
41
  printf(" ");
42
42
  }
43
- printf("\n");
44
43
  }
44
+ printf("\n");
45
45
  }
46
46
  }
47
47
 
48
48
 
49
49
  return 0;
50
50
  }
51
- ```
52
51
 
52
+
53
+
54
+
53
55
  アドバイスをいただければ幸いです。お願いします。

2

修正

2016/11/20 03:46

投稿

bjbjeknr
bjbjeknr

スコア26

title CHANGED
File without changes
body CHANGED
@@ -33,9 +33,9 @@
33
33
  total += score[i];
34
34
  dist[score[i] /10]++;
35
35
 
36
- for(j= dist_max; j>0; j--){ /*最大値から1までをループ*/
36
+ for(j=30; j>0; j--){ /*最大値から1までをループ*/
37
37
  for(k=0;k < BUNPU; k++){ /*更に0からBUNPU-1までループする*/
38
- if(dist[k] > j){ /*dist[j]がi以上なら'*'そうでないなら' 'を出力する。 */
38
+ if(dist[k] >=j){ /*dist[j]がi以上なら'*'そうでないなら' 'を出力する。 */
39
39
  printf("*");
40
40
  }else{
41
41
  printf(" ");

1

訂正

2016/11/20 03:37

投稿

bjbjeknr
bjbjeknr

スコア26

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,7 @@
10
10
 
11
11
  このようなプログラム(縦向き棒グラフ)を作るとき、どのように書けばよいのか、分かりません。私のソースコードです。
12
12
  ここまでは書けました。
13
+ これで実行してもうまくいきません。。
13
14
  ```C
14
15
  #include <stdio.h>
15
16
  #define NUM 30
@@ -21,16 +22,30 @@
21
22
 
22
23
 
23
24
  int dist[BUNPU]={0};
24
- int i,total=0;
25
+ int i,j,k,total=0;
26
+ int dist_max=0;
27
+
28
+ if(score[NUM] > dist_max ){ /*度数の最大値を求める*/
29
+ dist_max = score[NUM];
30
+ }
31
+ for(i=0;i < NUM; i++){
32
+
33
+ total += score[i];
34
+ dist[score[i] /10]++;
25
35
 
36
+ for(j= dist_max; j>0; j--){ /*最大値から1までをループ*/
37
+ for(k=0;k < BUNPU; k++){ /*更に0からBUNPU-1までループする*/
38
+ if(dist[k] > j){ /*dist[j]がi以上なら'*'そうでないなら' 'を出力する。 */
39
+ printf("*");
40
+ }else{
41
+ printf(" ");
42
+ }
26
- for(i=0; i<NUM; i++){
43
+ printf("\n");
44
+ }
45
+ }
46
+ }
27
47
 
28
- total += score[i];
29
- dist[score[i] /10]++ ;
30
- printf("*");
31
- }
32
48
 
33
-
34
49
  return 0;
35
50
  }
36
51
  ```