1 名前:JavaScriptは板違い、Web制作板をご利用ください mailto:sage [2007/07/15(日) 23:31:30 ] 【質問者へ】 回答者の便宜のため、以下の注意事項を遵守してください。 ・質問は【課題提示用テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。 ・JavaScriptは板違い、Web制作板をご利用ください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 ・回答されたら動作報告を必ずしてください。 【課題提示用テンプレ】 【 課題 】与えられた課題文をそのまま書きます。 《必須》 【 形態 】1. Javaアプリケーション(main()で開始)/2. Applet/3. Servlet/ 4. 携帯(開発環境のver.必須)/5. その他(明記のこと) 《必ず選択》 【 GUI 】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること) 《GUIの課題の場合必ず選択》 【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》 【 Ver 】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》 【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》 【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。 丸投げでない場合は、途中までのソースとその経過報告、 質問点、疑問点を書きます(なるべく丸投げにしてください)。 【回答プログラムの掲載場所】 Java質問スレWiki www.wikiroom.com/java/ ソースポストネット sourcepost.sytes.net/ 【前スレ】 pc11.2ch.net/test/read.cgi/tech/1179168569/
147 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 02:29:32 ] 【 課題 】 1〜13までのカードを2組用意.1枚目を見せて,次のカードがそれより大きいか小さいかを当てる. 3回はずれたら終了.最後に何回あたったかを表示する 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】制限なし 【 期限 】提出期限、7月27日12時まで 【 補足 】1〜13までのカードを作るには乱数を使う 1枚目の数字を表示したら,キーボードからの入力を待つ. 全体をwhileで繰り返す.if文を使ってあたり/はずれを判定し,それぞれの回数をカウントする. はずれの数が3を越えたら,while文を抜ける.
148 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 02:43:50 ] >>147 一度引いたカードは山に戻すの戻さないの?
149 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 02:46:41 ] 【 課題 】 生年月日を入力し運命数を計算する.さらに運命数に合わせて性格診断を表示をさせる. 運命数の出し方:1987年12月3日生まれの人の場合 1+9+8+7+1+2+3=31 3+1=4 運命数は4となる. 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】制限なし 【 期限 】提出期限、7月27日12時まで 【 補足 】12月を1+2と計算させるためには,10の位と,1の位にわける必要がある. 10の位を取りだすためには,12÷10=1.2の整数部分を取り出せばよい. 整数型はintなので,int でキャストすると,整数部分の1だけが取り出せる 運命数は1〜9の数字として求められる.数字によって表示をかえるためには,if文やswitch文を使う 性格診断はこんな感じ 1: プラス志向で前向き, 怖いもの知らずの自信家. 2: 他人に親切で, 愛情豊か. サービス精神旺盛. 3: 話題が豊富で, 話し上手. 人を楽しませることが得意. 4: 誠実で計画性があり, 実行力と粘り強さをもった人. 5: 好奇心旺盛で活動的. 頭の回転が早い. 6: 愛情深く世話焼きで,責任感が強くて誠実. 7: 独創的なアイデアを生む力と信念を貫く強さを兼ね備えた人. 8: 決断力と行動力、統率力がある.カリスマ的. 9: 博愛精神の持ち主で, 思いやり深い人.
150 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 02:53:32 ] >>148 山に戻します。 プログラムそ実行したら、「一枚目のカードをみて、次のかーどの数字を 予想してください。一枚目より二枚目の数字が大きいとよそうするなら、1 を入力、小さいと思うなら2を入力」と書いてから、数の大小を比べる。 3回はずれたら終了で、最後に、「3回はずれたので終了。あたった回数:○○」 と表示させたいです。
151 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 02:56:14 ] >>149 の追加 コマンドライン引数から生年月日を入力するようにして, 様々な生年月日を試すことができるようにする 結果が例えば「運命数7のあなたは「独創的なアイデアを生み出す・・・」 と表示すつようにする
152 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 04:00:16 ] 【 課題 】生年月日を入力し誕生日から今日までの日数を計算する. 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】制限なし 【 期限 】提出期限、7月27日12時まで 【 補足 】残りの人生の日数も表示出来ると+αの点数がもらえます。 おおよその残り日数はこちらを参照ください。 www.yomiuri.co.jp/national/news/20070726it13.htm
153 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 05:41:25 ] >>150 同じ数字の時は引き分けでノーカウントにするのか? それとも、親勝ちにするのか?
154 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 06:30:59 ] ちなみにカードを戻すのであれば2組は必要ないと思うが。
155 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 09:16:32 ] 生物の寿命はDNA解析すれば個別に判るけど、 生活環境で大きく推移するからな・・・
156 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 10:34:50 ] >>153 >>154 ノーカウントです。あと、カードは確認したら、戻さないそうです
157 名前:131 [2007/07/27(金) 11:13:34 ] >>135 さん、ありがとうございました。 実際の動作を確認させて頂きました。 動作としては、ほぼ理想通りの動きなのですが、 仕様が若干違っていたので、修正を行おうとソースを見たのですが、 分からない点4つあります。 1つ目が、ボタンの位置の変え方です。 現在、中段右にShuffleとStartのボタンがあるのですが、 これをShuffleを右下端、Startを左下端に変更したいのです。 2つ目が、列の表示の仕方です。 現在、fillRectを使用して、長方形で列を作成しているのですが、 □ □□ ←のように変更したいのです。 □□□ 3つ目が、列の表示サイズの変え方です。 現在、表示されています列が小さく、見づらいため、 サイズを大きくしたいのです。 サイズは□の縦横の比率が2倍です。 4つ目が、列の構成です。 現在、列の構成は確認出来ていないのですが、 列数を10列、高さを最低1、最高10に変更したいです。 返事を返すのが遅くなってすみませんが、 よろしくお願いします。
158 名前:デフォルトの名無しさん [2007/07/27(金) 11:38:30 ] import java.io.*; class fukushu{ public static void main(String args[])throws Exception{ BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in)); String ekimei [] = new String [20]; double kyori[] = new double [20]; ekimei[0]="西京"; ekimei[1]="小宮"; ekimei[2]="野宮"; ekimei[3]="白川"; ekimei[4]="富島"; ekimei[5]="新川"; ekimei[6]="栗駒"; ekimei[7]="西上"; ekimei[8]="木巻"; ekimei[9]="盛岡"; kyori[0]=0.0; kyori[1]=30.3; kyori[2]=109.5; kyori[3]=185.4; kyori[4]=272.8; kyori[5]=395.0; kyori[6]=416.2; kyori[7]=487.5; kyori[8]=500.0; kyori[9]=535.3;
159 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 11:57:24 ] >>157 さらにいいかげん ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29593
160 名前:デフォルトの名無しさん [2007/07/27(金) 13:15:29 ] あ
161 名前:デフォルトの名無しさん [2007/07/27(金) 13:17:48 ] a
162 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 13:34:54 ] 他人にプログラム組んでもらっても面白くないぞぅ┐(´ー`)┌
163 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 13:38:40 ] だから他人のプログラムまで組んじまおうって言うのがこのスレの主旨じゃん
164 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 13:43:20 ] >>156 です 至急お願いします
165 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 13:45:12 ] そっかwプログラム組んでも面白くも何ともない人がプログラム馬鹿に 喜びを与えてやってるのか。別に宿題を片付けてやろうって趣旨でやってるんじゃないのね。
166 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 13:46:53 ] >>149 教えてください
167 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 13:58:39 ] >>164 >>122 がそのまま使えるんじゃない?
168 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 15:18:20 ] //問1以下のプログラムを完成せよ。 //プログラムの概要: //テストの得点をキーボードから入力し、入力した人数、合計点、平均点を表示するプログラム。 //キーボードからマイナスが入力されるまで得点を配列に代入。 //入力した人数と合計と平均点を計算。最後のマイナスのデータは計算には含めない。平均点は小数点以下も表示する。
169 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 15:20:47 ] import java.io.*; class Seiseki_1 { public static void main ( String args[] ) throws Exception { BufferedReader in = new BufferedReader ( new InputStreamReader ( System.in )); int dt[] = new int[100]; int goukei = 0; double heikin; int n = 0; while(true){ System.out.print("入力データ:"); String tmp = (あ); dt[n] = (い); if( (う) ){ break; } goukei = goukei + dt[n]; (え); } heikin =(お); System.out.println("人数:"+n); System.out.println("合計:"+goukei); System.out.println("平均:"+heikin); } }
170 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 15:58:28 ] >147 1枚目は山に戻さないで、2枚目引いて当たり/外れを判定したら山に戻すようにした sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29594
171 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 18:02:14 ] >>163 (勉強目的で)くらいつけたさないと語弊があるかと。 元々の>>1 は自分のお勉強用に立てたんだし。
172 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 18:51:05 ] ここはスパープラグラムーが日本の情報教育を妨害するスレです もう色んなこと教えて学習者を堕落へと導きます
173 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 19:04:47 ] Javaが出来ないなら、数学の宿題をうpしてあげるお ttp://www.nicovideo.jp/watch/sm612917
174 名前:デフォルトの名無しさん [2007/07/27(金) 22:38:35 ] javaでmidiファイルの生成中です。 import javax.sound.midi.spi.*; import javax.sound.midi.*; で、何とかメロディを作ったり、音色を変えたりできる様になったのですが、 ドラムの音の出し方が分かりません。 どうぞご教授お願いします。
175 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 23:13:27 ] >>174 >1
176 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:44:59 ] >>174 ヒント:スレタイ
177 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 01:21:51 ] ていうかjava sound関係あるのそれ?
178 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:16:09 ] 【 課題 】1.for文を使い1〜10までの総和を求め表示 2.for文を使い10〜75までの偶数のみの総和を求め表示 3.全角の"■"と"□"で、5×5の市松模様を表示 ↓3.のイメージです。 □■□■□ ■□■□■ □■□■□ ■□■□■ □■□■□ 【 形態 】Javaアプリケーション(main()で開始) 【 期限 】7/29の午後3時までに提出 【 補足 】丸投げ 3問も書いてしまい申し訳ありませんがよろしくお願いします。
179 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:18:39 ] 最近レベル落ちたな
180 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 11:23:42 ] >>179 では、JavaでWA2の続編作ってくれ
181 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:51:17 ] >>180 >>1
182 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:20:59 ] >>118 >>120 >>122 まさか3件も回答貰えるとは思ってなかったです。嬉しすぎて涙でたw お三方とも、どうもありがとうございました。 これでなんとか宿題を出せそうです。 俺も最初に自分で作ったプログラム動かしたときは鼻毛飛び出ましたorz
183 名前:182 mailto:sage [2007/07/28(土) 13:22:43 ] あ、>>182 =>>116 です。
184 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 21:54:12 ] >>178 ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29595
185 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 22:04:03 ] >>178 public class Kadai { public static void main(String[] args) { // 1 int s1 = 0; for (int i = 1; i <= 10; i++) s1 += i; System.out.println(s1); // 2 int s2 = 0; for (int i = 10; i <= 75; i++) if (i % 2 == 0) s2 += i; System.out.println(s2); // 3 char[] c = {'■', '□'}; int n = 5; int k = 0; for (int i = 0; i < n; i++) { int l = 1 - k; for (int j = 0; j < n; j++) { System.out.print(c[l]); l = 1 - l; } System.out.println(); k = 1 - k; } } }
186 名前:sage mailto:sage [2007/07/29(日) 16:55:11 ] >>185 氏 返事が遅れてしまいましたが、有難う御座いました。 無事に提出することが出来ました。
187 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 21:31:37 ] 【 課題 】 www.uploda.net/cgi/uploader2/index.php?file_id=0000037702.txt 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】8月1日 【 Ver 】java version "1.4.2_12"
188 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 13:24:24 ] >>187 urlねーしwせめて概要ぐらいは書けよ
189 名前:187 mailto:sage [2007/07/30(月) 14:46:01 ] すいません。 課題↓ www.uploda.net/cgi/uploader2/index.php?file_id=0000037741.txt
190 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 03:07:57 ] >>189 Setが集約クラスとしてどういう性質を持つべきか説明がないんだが… いま気づいたがSetAのdeleteが無駄ループ回してるけどまあいいか ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29597
191 名前:59 mailto:shanguria2004@yahoo.co.jp [2007/08/01(水) 00:42:02 ] この前はどうもお世話になりました。 因みに90は友人でして59とは別人です。 迷惑かけたようですみませんでした。 そして新しい課題を出されました。 【 課題 】先日与えられた課題のドキュメンテーション tomahawk.rakurakuhp.net/ 【与えられたプログラム】hey.chu.jp/up/source3/No_4646.txt 【期限】8/7 ここでドキュメンテーションの事を聞くのは板違いかも知れませんが、 もし余裕のある方がいらっしゃいましたら、どうかよろしくお願いします。
192 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 02:06:04 ] >>191 本当にこんなダメプログラムが与えられたの? ネストが深すぎて読みづらい上にプログラム自体の間違い箇所が多いよ。
193 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 02:22:23 ] >191コメント書いたよ。tab4で見てくれ。 ttp://hey.chu.jp/up/source3/No_4654.txt
194 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 05:43:25 ] ハードタブ4とソフトタブ4じゃえらい違うわけだが・・・
195 名前:59 mailto:sage [2007/08/01(水) 12:07:53 ] >>193 コメントありがとうございます。 >>192 すみません、手打ちで打った為、重要なクラス宣言とかを忘れてました・・・。 本当に申し訳ないです。 tomahawk.rakurakuhp.net/ の最下段に考察についての書き方 が書いてあるので理解できる方、どうかよろしくお願いします
196 名前:デフォルトの名無しさん [2007/08/01(水) 13:44:41 ] 下記のjavaで書かれているプログラムをc言語に書き換えてください。 public class JobShop_EDD{ static int Job=3; static int Machine=2; static int K=30; static int [] duedate={0,7,9,13,14,20}; static int [] [] process={{},{0,3,3,2,},{0,2,3,2},{0,2,3,3},{0,3,2,3},{0,2,2,2}}; static int [] [] route={{},{0,1,2,3},{0,2,1,3},{0,3,1,2},{0,3,2,1},{0,2,1,3}}; static int [] weight={0,2,2,2,2,2}; public static void main(String[] args){ int [] [] Ma=new int[Machine+1][K+1]; int [] forbid=new int [Job+1]; int [] penal=new int [Job+1]; int Obj=0; for(int i=1;i<=Job;i++){ int mindue=10000; int assignJob=0; for(int i2=1;i2<=Job;i2++){ if(mindue>(duedate[i2]+forbid[i2])){ mindue=duedate[i2]+forbid[i2]; assignJob=i2; } } 【 期限 】今日中 【 補足 】丸投げ
197 名前:デフォルトの名無しさん [2007/08/01(水) 13:46:18 ] >196 続き forbid[assignJob]=10000; int r=0; boolean getTime=true; int processSum=0; for(int m=1;m<=Machine;m++){ processSum=processSum+process[assignJob][m]; } int limitT=1; for(int m=1;m<=Machine;m++){ r=route[assignJob][m]; for(int t=limitT;t<(K-processSum);t++){ for(int t2=t;t2<(t+process[assignJob][r]);t2++){ getTime=true; if(Ma[r][t2]>0){ getTime=false; break; } }
198 名前:デフォルトの名無しさん [2007/08/01(水) 13:47:56 ] >197続き if(getTime==true){ for(int t2=t;t<(t+process[assignJob][r]);t2++){ Ma[r][t2]=assignJob; } limitT=t+process[assignJob][r]; break;}}} if(((limitT-1)-duedate[assignJob])>0){ penal[assignJob]=weight[assignJob]*((limitT-1)-duedate[assignJob]); Obj=Obj+penal[assignJob];}} for(int m=1;m<=Machine;m++){ System.out.println("Machine"+m+"deno waritukejyoukyou"); for(int t=1;t<=K;t++){ System.out.print(Ma[m][t]);} System.out.println();} System.out.println(); System.out.println("objective function="+Obj); System.out.println(); for(int j=1;j<=Job;j++){ System.out.println("job"+j+"no ihanryo ha"+penal[j]);}}}
199 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 14:31:40 ] Cスレ行け
200 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 19:59:57 ] なんかC++使いがjavaで書いてそれをC++に直せって宿題をだしてる感じのコードだな。
201 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:30:13 ] Javaで書かれているように思えないな Obj = Obj + penal[assignJob]; って演算子のオーバーロードできたっけ?って思たw
202 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:41:54 ] 全部読んでも何やってるコードかわからん。 メンバは非staticにしてコンストラクタで処理してmainでnewしろと何度ry
203 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 01:51:58 ] >>200 > for(int m=1;m<=Machine;m++){ とか配列の最初の要素を使わないところとか見ていると C系の言語使いの書いたコードとは思えないな 配列の添え字が1から始まる言語使いじゃないか?
204 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 02:02:56 ] Java使わんで、日本生まれプログラミング言語「Ruby」使えや! news23.2ch.net/test/read.cgi/news/1185985169/
205 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 03:09:59 ] 宿題スレで言ってもな
206 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 07:52:15 ] >>203 漏れはC書きだけど わざと[0]を使わないことはあるよ
207 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 08:08:47 ] どっちかっつーと汎用機系に近いコーディングじゃね? 添字の使い方とかスパゲッティープログラム具合とか… リファクタリングさせたほうが課題としてはいいような気がする
208 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 11:39:14 ] ソース読んで意味の読み取れないコードをどうやってリファクタリングしろと?
209 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:56:39 ] >>196 ArrayIndexOutOfBoundで落ちた。 というか、何の授業で出てきた宿題か知りたい。
210 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:57:23 ] ・・・・ん?Weightとかあるから経路探索か?
211 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:06:06 ] >>209 Java入門(笑) じゃね?
212 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:05:06 ] >>211 そこのサイトって駄目なの?
213 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 13:03:03 ] 【課題】パスカルの三角形(5段目まで)を再帰的手続きを用いて記述せよ 【形態】1. Javaアプリケーション(main()で開始) 【期限】8/10まで 【用語】表示したい三角形は以下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 【補足】計算->配列格納を以下のように記述したら、再帰的ではないとのことで 再提出になってしまいました。他にはどんな方法が考えられるでしょうか。 for(i = 1; i <= n; i++){ p[i][1] = 1; //各段の最初の数字は1 p[i][i] = 1; //各段の最後の数字は1 } for(i = 3; i <= n; i++){ for(j = 2; j < i; j++){ p[i][j] = p[i-1][j-1]+p[i-1][j]; } } // 1段目と2段目の値は計算の必要がないので 3段目から計算 // n は段数(今回は n=5)
214 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 15:00:44 ] >>213 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29602
215 名前:213 mailto:sage [2007/08/04(土) 00:50:59 ] >>214 即レスありがとうございます! 詳細な解説まで入れていただいて、とても感謝です。 再帰的手続きについて、もう一度よく勉強しようと思います。
216 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:47:37 ] 極端に宿題減ったなと思ったら、夏休みか
217 名前:デフォルトの名無しさん [2007/08/06(月) 16:44:03 ] 【課題】 問題1 ナップサック問題 遺伝的アルゴリズムを用いて以下の問題を解きなさい。 アイテム数が250のナップサック問題です. 上から順番に,アイテム1,2,...,250となっています. 制約値(ナップサックの容量) 6536 重さ 利得 (250アイテムもあるので、配列にしたものを後で、書き込みます)。 【形態】1. Javaアプリケーション(main()で開始) 【期限】8/11まで 【用語】遺伝的アルゴリズム(交叉、突然変異などを用いること) 【 Ver 】5.0 丸投げでよろしくお願いします。
218 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:37:37 ] ↑配列書き込んでも、誰もやらないに(´ω`)ノ (1/8)
219 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:43:37 ] 愛媛乙
220 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:48:30 ] ↓面白そうな研究室だね(`・ω・´)<でも、かき氷器は要らないと思うだ・・・ 遺伝的アルゴリズムに、AI、画像処理 ttp://ipr20.cs.ehime-u.ac.jp/column/ga/ さて、寝よ
221 名前:217 [2007/08/06(月) 20:03:15 ] int[] omosa = { 100, 49, 54, 12, 78, 30, 65, 31, 90, 50, 80, 84, 53, 72, 94, 60, 74, 58, 17, 24, 45, 19, 33, 39, 91, 69, 48, 56, 84, 66, 60, 95, 49, 63, 22, 71, 83, 36, 15, 64, 28, 49, 41, 14, 17, 28, 65, 27, 65, 28, 21, 17, 33, 68, 51, 91, 97, 28, 91, 82, 54, 12, 47, 33, 30, 65, 56, 57, 91, 88, 77, 99, 29, 23, 39, 86, 12, 85, 22, 64, 33, 95, 32, 10, 44, 56, 86, 38, 72, 10, 57, 30, 28, 92, 68, 54, 34, 93, 35, 41, 46, 82, 66, 15, 89, 70, 46, 43, 60, 36, 63, 18, 67, 13, 12, 94, 19, 65, 59, 28, 91, 37, 24, 86, 23, 100, 38, 21, 42, 58, 91, 26, 69, 72, 89, 34, 84, 30, 24, 62, 20, 45, 11, 24, 54, 61, 14, 97, 79, 65, 68, 93, 54, 36, 41, 62, 90, 10, 58, 57, 46, 85, 19, 15, 15, 44, 70, 17, 25, 24, 37, 45, 97, 85, 64, 46, 74, 86, 89, 12, 83, 24, 40, 99, 27, 28, 65, 57, 66, 75, 50, 42, 34, 12, 59, 100, 12, 61, 98, 14, 68, 64, 46, 87, 68, 33, 43, 28, 24, 25, 29, 13, 59, 20, 66, 84, 16, 40, 69, 55, 73, 85, 25, 17, 81, 32, 74, 90, 88, 11, 98, 59, 12, 93, 16, 97, 37, 59, 57, 16, 73, 74, 65, 12, 33, 28, 66, 17, 88, 86 };
222 名前:217 [2007/08/06(月) 20:04:14 ] int[] ritoku = { 79, 25, 99, 41, 94, 75, 40, 59, 95, 99, 95, 93, 74, 83, 14, 89, 41, 53, 75, 70, 49, 19, 84, 16, 25, 66, 68, 79, 16, 93, 14, 20, 99, 93, 100, 56, 62, 69, 91, 52, 86, 43, 76, 45, 21, 57, 45, 41, 58, 33, 68, 22, 66, 83, 50, 64, 35, 42, 33, 66, 38, 57, 69, 90, 79, 89, 28, 70, 38, 71, 46, 41, 49, 43, 36, 68, 92, 33, 84, 90, 22, 93, 92, 89, 47, 23, 13, 11, 34, 11, 60, 82, 10, 16, 81, 20, 85, 52, 92, 31, 24, 83, 76, 15, 38, 63, 32, 99, 39, 97, 28, 42, 80, 21, 99, 11, 91, 24, 45, 28, 89, 31, 81, 78, 48, 72, 36, 77, 84, 40, 65, 43, 49, 23, 82, 41, 22, 67, 96, 58, 56, 81, 42, 55, 31, 38, 33, 10, 43, 84, 52, 96, 92, 51, 50, 63, 70, 46, 30, 45, 41, 15, 82, 52, 25, 69, 62, 26, 64, 93, 78, 82, 71, 65, 40, 25, 20, 24, 19, 10, 12, 31, 22, 96, 79, 31, 98, 80, 10, 31, 42, 99, 26, 21, 83, 78, 66, 54, 100, 22, 48, 16, 25, 97, 95, 70, 22, 20, 16, 17, 19, 49, 90, 44, 53, 18, 42, 26, 87, 55, 58, 32, 61, 32, 10, 11, 12, 61, 96, 59, 94, 25, 30, 70, 53, 35, 54, 91, 51, 20, 87, 70, 50, 52, 31, 43, 32, 25, 40, 78 };
223 名前:デフォルトの名無しさん [2007/08/06(月) 22:01:15 ] >>220 ありがとうございます。取りあえず、アルゴリズムの方は大体つかめました。 プログラミングの能力不足は否めませんが。
224 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 11:07:26 ] >>217 面白いな、この問題 問題2とかもあるのか?
225 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:47:44 ] 問題2は巡回セールスマン問題を遺伝的アルゴリズムで解け、です。
226 名前:デフォルトの名無しさん [2007/08/07(火) 13:59:35 ] 興味本位の素人の考えだけど、この問題って(価値/重さ)を計算して重さあたりの価値の高い物から順に袋がいっぱいになるまで詰めるのじゃだめなの? それとも単に例題としてあえて回りくどい方法使ってるの?
227 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:03:14 ] >>226 ダイアモンドは分割できませんよw
228 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:21:48 ] >巡回セールスマン問題を遺伝的アルゴリズム 専門にしては難しいことやってるな。 NP完全問題一通りやらせる気か?
229 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:46:50 ] >>226 A 価値 9 重さ 8 価値/重さ 1.125 B 価値 10 重さ 9 価値/重さ 1.111... 最大重量 20 のとき、そのアルゴリズムによれば A 2個 価値 18 重さ 16 だけど A 1個 B 1個 価値 19 重さ 17 B 2個 価値 20 重さ 18 で、価値/重さの大きいものを全く含まない組み合わせの方が総価値が高くなる
230 名前:224 mailto:sage [2007/08/07(火) 16:00:35 ] >>217 やはり巡回マン問題に繋げているのか。 解くには解いたが、まったく解らん状態でこんなもんコピって提出して大丈夫か? ゼミとかで発表されても困るぞw
231 名前:217 mailto:sage [2007/08/07(火) 16:52:52 ] 自己解決しました!
232 名前:デフォルトの名無しさん [2007/08/08(水) 01:46:33 ] 正直、このレベルの問題は自分で解けないと将来困るの本人だろ? まさか論文ココで書いてもらうつもりか?
233 名前:デフォルトの名無しさん [2007/08/08(水) 03:39:48 ] ぬゑぽ
234 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 04:38:05 ] try{ >>223 } catch (NullPointerException e) { System.out.println("ガッ"); }
235 名前:ぱん [2007/08/08(水) 13:56:39 ] 【 課題 】 コマンドライン引数に入力された年と月から、 その月が何日まであるかを表示しなさい。 (日付その他のチェックも行う事) 【 形態 】 Javaアプリケーション(main()で開始) 【 期限 】 2008/08/08 18:30まででお願い致します。 【 Ver 】java version "1.4.1_05" 【 補足 】お願い致します。
236 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:21:51 ] >>235 public class Nannichi { public static void main(String[] args) { if (args.length == 2) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); if (month >=1 && month <=12) { System.out.println(new int[][]{{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}} [year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ? 0 : 1][month - 1]); } } else { System.err.println("java Nannichi year month"); } } }
237 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:31:03 ] べた書きキタコレ
238 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:39:11 ] 配列べた書きが気に入らんのかい System.out.println(month >=8 && month % 2 == 0 ? 31 : month >= 8 ? 30 : month % 2 != 0 ? 31 : month != 2 ? 30 : year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ? 29 : 28);
239 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:20:18 ] >>235 個人的には、>>122 の汎用的なロジックが好きだから y,m を引数するとして m==12?getDayID( y+1,1,1):getDayID( y,m+1,1) - getDayID( y,m,1 ) を提示
240 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:22:00 ] >>239 こんな場合分けは、122に失礼だった。 getDayID( y+m/12, (m+1)%12,1)- getDayID( y,m,1 ) こっちで。
241 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:24:05 ] >>240 もうなんだか訳分からなくなった getDayID( y+m/12, m%12+1,1)- getDayID( y,m,1 ) 括弧間違ってた。
242 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:33:36 ] Calendarクラス使って動的にとればいいだろ Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); cal.set(Calendar.DATE, 1); cal.add(Calendar.DATE, -1); return cal.get(Calendar.DATE);
243 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:37:39 ] >>242 Calendar使うなら、getActualMaximumで終了じゃねえか
244 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:51:29 ] getActualMaximumなんてメソッドあるんだ
245 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 21:20:43 ] >>244 うっかりgetMaxmumを使って常に、31日というオチもありだ。
246 名前:217 [2007/08/09(木) 00:18:58 ] >>230 提出はプログラムに関する考察なので、大丈夫です。それに、取りあえず、 参考程度にエラーの出ないやり方を見たいので、アップしてくれるとうれしいです。 >>232 確かに、もうちょっと自分で考えた方がいい気もしますね。 3回の専門科目のレポート問題ですが、やはり相当手ごわい問題のようですね。
247 名前:217 [2007/08/09(木) 00:26:28 ] ココってちなみにどこの大学晒すのかはまずいですよね。 とりあえず、考えてもらったお礼に、問題2と問題3も後で書き込むことにします。
248 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 01:27:05 ] お礼がさらなる自分の課題の提示w
249 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 05:37:52 ] 本当に楽しみを与えているとでも思っているのか>>217 はw しかしその気概が気に入ったので例示、ただしかなり嫌がらせ気味に書いた sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29612 単なる一点交叉+奇々怪々な変異法のため非常に解が安定しない 2000世代で価値がAve7300程度かね、多分最高で8000ぐらいは行くんじゃなかろうか 解を安定させたいならTwoOptMutationとか選択法勉強するヨロシ 卒論でGAは使ったことがあるが丸々写したりしてもさっぱりだと思うぞ 正直その手の論文でも見て動き方を覚えた方が良いと思う …微妙に正しいのかどうか分からなくなってきた
250 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 07:35:30 ] >>249 8200ちょい リファクタリングしたら貼り付けようと思っていたけど不要になりそだ
251 名前:初心者 [2007/08/09(木) 10:57:17 ] 235の課題をCalendarクラスで動的に取ったら どんな感じになるんですか?
252 名前:文字列動的配列クラスの作成 [2007/08/09(木) 11:13:29 ] 【 課題 】 ABC.java //最下行に要素を追加 public void add(String data){} //指定インデックスの要素を上書き(指定インデックスが無い場合エラー) public void set(int index,String data){} //指定インデックスの要素を取得(指定インデックスが無い場合エラー) public String get(int index){} //全ての要素をクリア public void clear(){} //実行サンプルクラス //以下の処理をABCを使用して実行 ABC_excec.java "aaa"を追加 "bbb"を追加 "ccc"を追加 "dd"を追加 4個の要素を取得して表示 すべてクリア "ee001"〜"ee100"の100個追加 76番目の要素を取得して表示 【 形態 】 Javaアプリケーション(main()で開始) 【 期限 】 2008/08/09 今日中まででお願い致します。 【 Ver 】java version "1.4.1_05" 【 補足 】概念図は public void add(String data){} public String set(int index,String data){} public String get(int index){} public void clear(){} とありました。丸投げお願いいたします。
253 名前:ぱん [2007/08/09(木) 11:19:54 ] public class Nannichi { public static void main(String[] args) { if (args.length == 2) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); if (month >=1 && month <=12) { System.out.println(new int[][]{{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}} [year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ? 0 : 1][month - 1]); } } else { System.err.println("java Nannichi year month"); } } } Calendarクラスを使うとどう変わりますか?
254 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:05:07 ] >>251 >>253 >>242-243
255 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:12:33 ] 【 課題 】 フォームから入力を受け取って、簡単な家計簿を生成するServlet を作成せよ。 入力した項目に加えて、その日の支出の計とそれまでの支出の累計の両方を計算してテーブルの形に整形し、 ゲストブックとおなじようにファイルにテーブルを追加していくようにせよ。 フォームsourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29613 【 形態 】1. Javaservlet 【 GUI 】4. 制限なし 【 期限 】8月9日まで 【 Ver 】1.6.0_01 【 補足 】 よろしくお願いします。
256 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:34:02 ] 【 課題 】 オプションと値段の情報をテキストファイルではなく、データベースから獲得し、動作をするサーブレットを作成せよ。 なお、データベースへのクエリの回数はできるだけ少ないこと(1つのセッションで1回)が望ましい 【 形態 】1. Javaservlet 【 GUI 】4. 制限なし 【 期限 】8月9日まで 【 Ver 】1.6.0_01 【 補足 】 一応テキストから獲得したサーブレット sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29616 オプションは常に3択と仮定して良い DBのテーブルの作成には以下のSQLスクリプトを使用してよい ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29615 よろしくお願いします
257 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:47:15 ] >>252 public class ABC { //private java.util.ArrayList list = new java.util.ArrayList(); //public void add(String data) { list.add(data); } //public void set(int index, String data) { list.set(index, data); } //public String get(int index) { return (String)list.get(index); } //public void clear() { list.clear(); } private String[] list = new String[1]; private int size = 0; public void add(String data) { if (size >= list.length) { String[] t = new String[list.length * 2]; System.arraycopy(list, 0, t, 0, list.length); list = t; } list[size++] = data; } public void set(int index, String data) { if (index < 0 || index >= size) throw new IndexOutOfBoundsException(); list[index] = data; } public String get(int index) { if (index < 0 || index >= size) throw new IndexOutOfBoundsException(); return list[index]; } public void clear() { for (int i = 0; i < size; i++) list[i] = null; size = 0; } } public class ABC_exec { public static void main(String[] args) { ABC abc = new ABC(); abc.add("aaa"); abc.add("bbb"); abc.add("ccc"); abc.add("dd"); for (int i = 0; i < 4; i++) System.out.println(abc.get(i)); abc.clear(); java.text.DecimalFormat format = new java.text.DecimalFormat("ee000"); for (int i = 1; i <= 100; i++) abc.add(format.format(i)); System.out.println(abc.get(76 - 1)); } }
258 名前:デフォルトの名無しさん [2007/08/09(木) 13:14:46 ] >>257 コンパイルするとエラーになるよ
259 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 13:23:30 ] >258 お前のやり方が間違ってるだけ
260 名前:デフォルトの名無しさん [2007/08/09(木) 13:58:04 ] >>253 import java.util.*; public class Main { public static void main(String[] args) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); GregorianCalendar cal = new GregorianCalendar(); System.out.println( new int[][]{{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}} [cal.isLeapYear(year) ? 0 : 1][month - 1]); } } じゃねーの?
261 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 16:16:42 ] String の変数に入れられた文字列が全角か半角かを判別させるにはどうすればいいですか? 【 形態 】1. Javaアプリケーション 【 Ver 】1.5
262 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:16:33 ] >>260 吹いたw 正しい正しいw
263 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:22:49 ] >>261 全角半角の定義だが、Windows-31Jで1バイトかどうかで判定して良いのか? だとすれば String str ; // これに入ってるとする for( int i=0;i<chrs.length;i++ ){ String s = str.substring(i,i+1); if ( s.getBytes("Windows-31J") .length == 1 ){ System.out.println("半角:"+s); }else{ System.out.println("全角:"+s); } } で判定できないかね。
264 名前:217 [2007/08/09(木) 17:57:37 ] >>249-250 >>ただしかなり嫌がらせ気味に書いた なるほど、横に長い実行結果ですね ありがとうございます。ちなみに最適解は10000ちょいでしたが、 エラーの出ない配列の使い方が分かって非常に参考になりました。
265 名前:デフォルトの名無しさん [2007/08/09(木) 18:07:30 ] >260 getActualMaximum使ったらもっとかんたんなのでは? 俺は知らんけどな〜
266 名前:217 [2007/08/09(木) 18:14:47 ] 【 課題 】2目的ナップサック問題 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29619 巡回セールスマン問題 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29620 【 形態 】1. Javaアプリケーション(main()で開始)/ 【 期限 】解答しなくて良いです。 【 Ver 】java5.0 【 補足 】この問題は、答える必要はありません。興味のある方は、 やってみてください。
267 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:55:09 ] (*‘ω‘ *)<ランボー 期限 レス番号 種別 ---------------------------------------------- 8/9 >255 Servlet 8/9 >256 Servlet+DB(MySQLぽっぽ)
268 名前:デフォルトの名無しさん [2007/08/09(木) 19:14:51 ] みんな期限短すぎだろ
269 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 19:53:59 ] >>217 これは面白かった 細かいテストしてないから正確な動作は保証しない uproda11.2ch-library.com/src/1121058.zip.shtml dlキーはga
270 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:50:57 ] >>269 軽く見たけど無駄な処理多いと思うが?
271 名前:217 [2007/08/09(木) 20:53:30 ] >>269 ありがとうございます。266にも問題2,3があるので気が向いたらやってみてください。
272 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 23:54:19 ] なんだか最近おかしくないか? 問題を提供してやってるんだぜ、俺スゲー、敬え! って感じがするんだが。 こんな問題も解けなくて生まれてきてスマン。でも単位は欲しいので助けてください。 みたいな素直さがないよ。
273 名前:デフォルトの名無しさん [2007/08/10(金) 00:03:23 ] >>272 さすがに、そんな馬鹿いないでしょ まあ、目立たせるように不躾な書き方をしてる人はいるかも
274 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 06:32:09 ] 夏で普通の宿題がないからひまつぶしにネタ出してるんでそ。 夏休み終わりぐらいに大量に出題あるかもねw
275 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 08:18:18 ] 暇つぶしならネタ出しせずに自分で解けばいいのにと思う今日この頃
276 名前:継承 [2007/08/10(金) 10:30:46 ] 【 課題 】 >257さんの回答を継承して A_strArray.java // 全ての要素を配列で取得 public String[] getAll(){} // 要素数を取得 public int getIndex(){} // 昇順 public static final int ASC_SORT = 0; // 降順 public static final int DESC_SORT = 1; // ソートする //引数 mode ASC_SORT:昇順/DESC_SORT:降順 public void sort(int mode){} //実行サンプルクラス A_exec.java "bbb" を追加"aaa" を追加"ddd" を追加 "ccc" を追加"123" を追加 要素数を表示 昇順ソート 全ての要素を取得して表示 降順ソート 全ての要素を取得して表示 A_exec2.java 以下を10回繰り返すプログラムを作成する 項目を、10000個追加 5000番目の内容を表示 降順ソート 全てクリア 【 形態 】 Javaアプリケーション(main()で開始) 【 期限 】 2008/08/10 今日中でお願い致します。 【 Ver 】java version "1.4.1_05" 【 補足 】丸投げですがお願い致します。
277 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 14:00:22 ] >項目を、10000個追加 どうやって要素を生成するかわからん。sortするならrandomかな。 しかし、意味の無い仕様だな。