質問編集履歴

1

他サイトで同様の質問を行ったことに対する編集を行いました。

2022/10/02 08:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,43 @@
52
52
  このプログラムだと Data[N]=i; N++;にエラーが発生してしまいます。
53
53
  『Bucket[i] 回以下を繰り返す』の部分を表せていないからだと思うのですが、その方法が分かりません。
54
54
  ```
55
+ ### 追記
56
+ マルチポストについての知識がなかったため、同時にYahoo!知恵袋での投稿も行ってしまいました。早くプログラムを完成させなければならないという気持ちからの行動です。申し訳ございません。
57
+ 指摘があった通り、知恵袋の方で解答を頂けたのでリンクを記載しておきます。
58
+ https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11268925501
59
+
55
60
  ### 試したこと
56
- 二重for構文を作れば一応実行できるのですが、大学の先生曰く、二重for構文を使わずに実行できプログラムになるとことでした。
61
+ 結局正しいプログラムは分かりませんが、実行は出来ようになったので以下に示て自己解決にしいと思います知恵袋の方で指摘のあった、ローカル変数の部分は変更できておりません。
62
+ ```Processing
63
+ int Data[];
64
+ int N=10, L=100;
65
+
66
+ void setup(){
67
+ Data=new int [N];
68
+ for(int i=0;i<N;i++){ Data[i]=(int)random(100); }
69
+ noLoop();
70
+ }
71
+
72
+ void draw()
73
+ {
74
+ int[] Bucket;
75
+ Bucket=new int[L];
76
+ println("----- before -----"); println(Data);
77
+
78
+ for(int i=0; i<N; i++){
79
+ Bucket[Data[i]]++;
80
+ }
81
+
82
+ int N=0;
83
+ for(int i=0; i<L; i++){
84
+ for(int j=0; j<Bucket[i]; j++){
85
+ Data[N]=i; N++;
86
+ }
87
+ }
88
+
89
+ println("----- after -----"); println(Data);
90
+ }
91
+ ```
57
92
 
58
93
 
94
+