1 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 06:56:18 ] あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。 【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ C/C++の宿題を片付けます 112代目 pc11.2ch.net/test/read.cgi/tech/1215439445/
45 名前:前スレ505 [2008/07/15(火) 00:27:17 ] [1] 授業単元:C++ [2] 問題文(含コード&リンク):試験問題の例を実行結果を見ながら、 自分なりに作ってたのですが、敵が表示されなかったりしたので困ってます。 ここに自分で作ったやつが置いてあります。 www.dotup.org/uploda/www.dotup.org5395.zip.html これが試験問題の例の実行結果です。ハムスター画像はないので、他のを代用して使ってます。 www.dotup.org/uploda/www.dotup.org5399.zip.html [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: VisualC++2005かVisualC++2008 [3.3] 言語:C++ [4] 期限: [2008年7月15日午前7:00まででお願いします。 [5] その他の制限:何かあったら言って下さい。
46 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:03:54 ] [1]C [2]三値の中央値を求める以下の関数を作成せよ。 int med3(int a,int b,int c); [3]LINUX C [4]今週中でお願いします よろしくお願いします
47 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:18:48 ] >>46 void swap(int *a, int *b){ int c; c=*a; *a=*b; *b=c; } int med3(int a, int b, int c){ if(a<b) swap(&a, &b); if(a<c) swap(&a, &c); if(b<c) swap(&b, &c); return b; }
48 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:41:20 ] ひどいな
49 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:42:17 ] int med3(int a, int b, int c) { return a>b ? a>c ? c>b ? c : b : a : b>c ? c>a ? c : a : b; }
50 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:58:25 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7372.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VC [3.3] 言語: C [4] 期限: 2008/7/17/0:00 よろしくおねがいします
51 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 02:44:20 ] [1] 授業単元:C++ [2] 問題文(含コード&リンク):基本交換法と挿入法の関数化 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VisualStudio2005 [3.3] 言語: C++ [4] 期限: 2008/7/15/12:00 ここでははじめての書き込みです よろしくお願いします。
52 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 03:16:09 ] >>51 ソートの話でしょうか。基本交換法とはなんでしょうか。(wikipedia をみましたがわかりませんでした。) 問題について、もう少し情報をいただけませんでしょうか。
53 名前:デフォルトの名無しさん [2008/07/15(火) 03:17:33 ] バブルソート
54 名前:デフォルトの名無しさん [2008/07/15(火) 03:19:45 ] バブルソートは、ソートのアルゴリズムの一つ。最悪計算時間がO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、しばしば用いられる。安定な内部ソート。基本交換法、隣接交換法ともいう。 バブルソート - Wikipedia 挿入ソート(インサーションソート)は、ソートのアルゴリズムの一つ。平均計算時間・最悪計算時間がともにO(n2)と遅いが、アルゴリズムが単純で実装が容易なため、しばしば用いられる。安定な内部ソート。基本挿入法ともいう。 挿入ソート - Wikipedia
55 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 03:27:34 ] [1] 授業単元:プログラミング2 [2] 問題文(含コード&リンク): アルファベットと数字からなる文字列 str と文字 c を引数として受け取り,文字列 str から文字 c をすべて削除する返す関数 void del_chr(char *str, char c) を定義し,動作を確認するプログラム(kadai11_3.c)を作成せよ. strを別の配列にコピーして利用すればよい.配列の添え字アクセスを利用してもよい. 関数名:del_chr 引数 :char *str, char c 返却値:なし 機能 :文字列 str から文字 c をすべて削除 main関数のテンプレートを示す. int main(void) { char c; char str[100]; char *ptr; printf("変換前: "); gets(str); printf("削除文字: "); scanf("%c", &c); del_chr(str, c); printf("変換後: %s\n", str); return 0; } [3] 環境 [3.1] OS: Win Vista [3.2] コンパイラ名とバージョン: bcc [3.3] 言語: C [4] 期限: 2008/07/15 14時まで [5] その他の制限: ポインタまで
56 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 03:40:23 ] >>48 いや、>>47 ならちゃんと動作しますよ。反例はどんな場合ですか?
57 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 03:46:19 ] >>15 だれが決めたのですか?回答者同士で出来を競うのは問題ないと思いますが?
58 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 03:55:56 ] [1] 授業単元:プログラミングU [2] 問題文:www.dotup.org/uploda/www.dotup.org5542.mht.html 実行例:www.dotup.org/uploda/www.dotup.org5543.pdf.html ベースのコード:www.dotup.org/uploda/www.dotup.org5545.cpp.html [3] 環境 [3.1] OS:WindowsVista [3.2] コンパイラ名とバージョン:VisualStudio2005 [3.3] 言語:C++ [4] 期限: 本日 7月15日18:00まで [5] その他の制限:www.dotup.org/uploda/www.dotup.org5545.cpp.html にある内容までは一通り習っています。 以前もここで何度か助けてもらいましたが、 これが最後になると思いますので、どうかよろしくお願いします。 (特に後半が全然わかりません)
59 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 03:56:21 ] >>57 決めたんじゃなくてそんな決まりはないって話だろ・・・ どんだけ意味が理解できないゆとりだよ?w >>読め。競いたければ勝手に個人でやってろ。 競争心むき出しで、パクリだろとか言われても、はぁ? って思われているのは、分かりきった答えだからなんだよw
60 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 04:02:50 ] >>1 とスレタイ C/C++の ”宿題を片付けます” > 気に入らない質問やその他や発言はスルーの方向で。 どこにも回答者同士で出来を争うといった趣旨の内容はなく 質問者に答えるのが一番の目的だと思うんだが? だから決めたんじゃなくてそんな決まりはない、ということだよ。 路上で勝手に他の車と競争しているくらい、恥ずかしい行為だよ。 何一人で他人に負けたとか思って悔しい思いをしているの?ってねw マナーを守って運転できない、加速できるなら出来るだけする奴は 危険だし迷惑。そういうこと。適切なソースが出せないなら、それはそれで 他人から指摘される場合もあるってことだよ、ワトソン君。 >>35 は前スレで解決済みでは?
61 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 04:32:34 ] >>59 よりよい回答が発生するのであれば、競争は大いに結構。というのが現代流なのでは? ゆとりなのは、競争をしらないあなたでしょう。
62 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 04:36:03 ] >>60 >どこにも回答者同士で出来を争うといった趣旨の内容はなく どこにも回答者同士で出来を競うなといった趣旨の内容はありませんが。 結果としていい回答が発生するのであれば、競争してもかまわないと思いますが、いかが? あと車のたとえは意味不明。
63 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 04:37:14 ] えぇ、どこにも回答者同士で競い合うというった趣旨のスレではありません。 勝手に自意識過剰厨が、俺の方が出来が良いぜ、後出しじゃんけんは 必ず負けにしたいんだろ?w 内容じゃなくて早く書けるかを競うにしても無駄。 過去の課題のコピペで済むものも普通に存在しているし。 一人で見えない敵と戦ってろ
64 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 04:46:29 ] >>63 日本語でOK
65 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:10:58 ] 自動スクリプト回してますね
66 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:20:34 ] 先出し後出し中出しでもめるくらいなら、もう定石のある ありきたりなパターンのものはテンプレ化して、それを 提示するなり、必要に応じてそのスタイルの関数を用いて出すとか。 それを競い合っても無駄だがねw
67 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:24:17 ] >>66 中だしでもめるようなら手をつけなければいいのですが、(回答)初心者には難しいのでしょうね。
68 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:25:20 ] >>65 自動スクリプトで対応可ですからね。
69 名前:デフォルトの名無しさん [2008/07/15(火) 05:33:13 ] >>35 をお願いします。期限は今日なんで…
70 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:44:16 ] >>35 >>69 pc11.2ch.net/test/read.cgi/tech/1215439445/586 #include<iostream> void swap(int *a, int *b){ int c; c=*a; *a=*b; *b=c; } int main(void){ int max1=0, max2=0, num; while(std::cin >> num){ if(num==0) break; if(num<0 || num%2==1) continue; if(num>max2) max2=num; if(max1<max2) swap(&max1, &max2); } std::cout << max2 << std::endl; return 0; } 私自身はチェックしていません。
71 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 05:54:53 ] >>70 [3.3] 言語: C
72 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 06:08:05 ] >>35 >>69 #include <stdio.h> void swap(int *a, int *b) { int c; c=*a; *a=*b; *b=c; } int main() { int max1 = 0, max2 = 0, num; while(scanf("%d", &num) == 1){ if(num == 0) break; if(num < 0 || num % 2 == 1) continue; if(num > max2) max2 = num; if(max1 < max2) swap(&max1, &max2); } printf("%d\n", max2); return 0; } >>71 thanks.
73 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 06:21:03 ] 宿題に答えられたら答える人が答える、出来ない人が出来なかったことに 気を落とすスレでもなければ、回答したことに自己満足したのを アピールするスレでもありませんので、お間違えのないようお願いします。
74 名前:デフォルトの名無しさん [2008/07/15(火) 06:21:43 ] ありがとうございます
75 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 06:21:57 ] かまってちゃんが自己アピールするスレでもないんですけどね。
76 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:27:10 ] >>6 を参考に 回答に余計なコメントを入れず、簡潔にコードだけ。 出来ればアンカーも付けずに、うpローダーに ノーリンクな形で著作権フリーな形で書き込んで URLだけ本スレに貼って下さるようお願いします。
77 名前:45 [2008/07/15(火) 07:39:23 ] 誰か>>45 やってくれませんか? 自機の移動までは出来たのですが、ずっと右に進んだりすると消えてしまうので、消えないように表示がしたいです。 敵の跳ね返りもコンパイルは出来るのに、何故か表示されない…。
78 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:46:12 ] >>77 期限切れのものは無駄だから作らない
79 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 07:48:45 ] >>77 つーか、Ex09から雑魚1匹だけ抜き出して動かせばいいんじゃないの? 参考までに。あのコードはC++分かってないと書けないようになってるんで、 (クラスの継承やらオーバーライドやら使ってるんで)ここで中途半端なコード出すと 「ああ、、、誰かのパクったんだな」ってばれるんでそこらへんよろしく♪
80 名前:45 [2008/07/15(火) 07:48:52 ] >>78 期限は今日の12時までに変更するので、お願いします。
81 名前:45 [2008/07/15(火) 07:55:45 ] >>78 Ex09だと敵雑魚が複数居るから、1匹だけ表示する方法が分かりません。 とりあえず自分なりにやったけど表示されず…。
82 名前:45 [2008/07/15(火) 07:56:34 ] すみません、>>81 は>>79 さんへのレスです。
83 名前:デフォルトの名無しさん [2008/07/15(火) 08:26:30 ] だれか>>4 をやってくれませんか?? 難しいかと思いますが、期限が13:00までなので、わかる人がいればよろしくお願いします。
84 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 08:27:38 ] [1] 授業単元:プログラミング言語基礎 [2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7373.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: borland C++ Compiler 5.5.1 [3.3] 言語: C [4] 期限: [2008年07月16日12:30まで] [5] その他の制限: 特になし 今年からCを習い始めた初心者です、よろしくお願いします。
85 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:03:26 ] なんか、最近のいざこざでやる気が失せた。自分がやっても 誰かがやってたら、先に出した方がいれば後出しに何か言われるわ そんなんでちょっと面倒で時間が掛かりそうだと、もうやる気が失せるわ。 ちょっと他人の回答について、黙ってて欲しい。まぁ、そんなんだから 最近は催促された後に、誰もやらないなら自分がやるかって 風潮になっているんだろうけどね。
86 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:05:01 ] >>84 これでいいですか。 1) ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7374.txt 2) ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7375.txt
87 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:23:42 ] >>85 質問テンプレで質問あげたら再度催促しない限り、回答を 貰えないといルールにすればいい。 催促は問題よっても異なるが、質問をあげてから最速で3時間以上は してはならないことにする。 それまでに答えた回答者はフライングで、皆でバッシング 催促されたら、原則として最も早く回答した人が質問者との通信権を持ち ソースの授与とソースに対する質問が終わるまで、他の回答者は その質問者にアクセスすることが出来ないことにする。 その後、別の回答者、もしくは同じ回答者が質問者にアクセスす る場合は、質問者を呼び出すこと。応答が無い限り、質問者宛という 形でソースコードを置き逃げするようなことをしない。 あと回答者同士で、ソースコードをやりとりするのはタブーかな。 やはり。 要するに、相手がオンライン状態であることを確認し、相手が自分の コードを受け取る認識にあることを確認した上でソースを渡す方式すれ ばいいだけ。
88 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:27:26 ] 長文うぜー
89 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:34:10 ] >>50 数式が解けない f'(t)=? // f(0)=0 f''(t)=mg-kf(t)-aη/hf'(t)
90 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:34:48 ] f''(t)=mg-kf(t)-(aη/h)f'(t)
91 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:38:45 ] >>51 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } void bubblesort(int *a, int size) { int i, j; for(i=size-1; i>0; i--) for(j=0; j<i; j++) if(a[j] > a[j+1]) swap(a+j, a+j+1); } void insertionsort(int *a, int size) { int i, j; for(i=1; i<size; i++) for(j=i; j>0 && a[j] < a[j-1];j--) swap(a+j, a+j-1); }
92 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 09:54:02 ] >>88 短文しか書けない奴は実は単文は書けないな
93 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:07:17 ] >>88 大卒のための卒論にはありきたりな文章を真似るにしても 短文じゃ無理だから、お前みたいな大学も卒業していない 知能レベルの低い奴が何を言っても説得力がないよw
94 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:09:30 ] >>93 中文が一番うざい
95 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:09:58 ] >>88 読む気がないんだろ?だったら読まなくて良いからw どうせ読解力、国語力のないお前じゃそういった低レベルの短文での 罵倒レスしか出来ないんだろうけどさw
96 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:10:35 ] >>94 だからお前個人の感想なんて要らないってw お前の存在そのものがうぜー、このスレには必要ない どうせお前が汚いソースを先走って出している低脳だから 必死に抵抗してんだろ?w
97 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:19:48 ] >>87 高卒?。中卒か? もしかしたら小卒かも知れねーな。 大卒とか院卒だとしても、この回答者の心理を無視した ルールは何だよw 相手がネットに張り付いて待っていよが居まいがコードが 出来たらいち早く置き土産みたく貼付けて楽しんでるんだよ。 コンパイルすら通らなくてもいい。とにかく形さえ出来てれば いいんだ。 もすこし、実態を知ってからカキコしろや
98 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:20:15 ] あぁ、なんだやっぱり 大卒未満 か、悪い。
99 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:23:31 ] 98の自己反省文でした。
100 名前:デフォルトの名無しさん [2008/07/15(火) 10:27:02 ] [1] 授業単元:プログラミング論 I [2] 問題文(含コード&リンク): fib(1) = fib(2) = 1 fib(i) = fib(i - 1) + fib(i - 2) i は3以上の整数時、 fib(i) を以下のプログラムで計算する時、fib(i) を計算するのに加算が何回行われるか、 fib(i) を使って示せ。 さらに、このプログラムより加算回数が少ないプログラムをCで実装せよ。 int fib(int i){ if(i <=2){ return 1;} int answer = fib(i-1) + fib(i-2); return answer; } [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc3.4 [3.3] 言語: C [4] 期限: 2008年7月17日 [5] その他の制限: 特にありません。 よろしくお願いします。
101 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:30:29 ] とりあえず100は12:00まで回答禁止ってどーだ? 12:00以降100が再度お願いしますと言って来たら その時点で回答 期限は明後日だし、明日中に回答が貰えれば十分な筈だ
102 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:35:45 ] ここでいちいち名指し、個人宛て、アンカーをつけてレスしてないのに 反発レスをする奴は、自分に見に覚えのある基地外ってことだろ? 分かりやすいな、簡単に餌のない釣り糸に食いつく野郎って。 お前がいなくなれば、このスレは安泰するんだが、分かるかね?
103 名前:45 [2008/07/15(火) 10:47:03 ] >>79 一匹だけ抜き出す方法教えてくれませんか? 自機はできたので大丈夫そうです。
104 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 10:52:49 ] >>103 この間の君かw void elCreate(void) というところの Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40); Zako[1] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",2,200, 0,5, 2,40,40); Zako[2] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",6, 0, 80,5, 2,40,40); Zako[3] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",5,200, 80,5, 2,40,40); というのが敵クラスを生成して画像を当てはめてるところ。 void MainScreen(void) というところの for(int i=0;i<4;i++){ Zako[i]->Draw(); } というのが敵クラスのDrawを呼び出して移動処理+描画をさせてる。 やっぱりクラス部分ではまったか・・・ 途中でやってた人がクラスで作ってきたがそれまでがそんなのできそうな気配が なかったのでいいのかな〜?と心配はしてたんだがw
105 名前:45 [2008/07/15(火) 11:04:59 ] >>103 つまり… for(int i=0;i<4;i++){ Zako[i]->Draw(); } を for(int i=0;i<1;i++){ Zako[i]->Draw(); } にすれば良いのですか?
106 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:06:33 ] >>105 それでもいいけど1個しか使わないなら Zako[0]->Draw(); だけでいいかな まあ本当は配列にする必要すらないんだけどね
107 名前:45 [2008/07/15(火) 11:15:44 ] >>106 ありがとうございます。無事にできました! あと、影は使わないので消す事できましたが、 下の 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40の部分は使わないので消しても平気でしょうか? Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40); Zako[1] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",2,200, 0,5, 2,40,40); Zako[2] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",6, 0, 80,5, 2,40,40); Zako[3] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",5,200, 80,5, 2,40,40); Bocty[0] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 0, 0,1,11,60,60); Bocty[1] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 60, 0,1,11,60,60); Bocty[2] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3,120, 0,1,11,60,60); Bocty[3] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3,180, 0,1,11,60,60); Bocty[4] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 60,360,1, 1,60,60);
108 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:24:15 ] >>107 新しい方のお題がさっぱりわからないんだけど Ex09のお題でいうところの自分で操作するキャラクターと跳ね回ってる敵の両方で影を使わないので あればクラスの class Chara{ <中略> Chara(int _w,int _h,char *imgname,int _draw_type,char *kagename, int _show_cnt = 0, int _start_x = 0, int _start_y = 0, int _div_x = 1, int _div_y = 1, int _div_h = 0, int _div_w = 0) { を Chara(int _w,int _h,char *imgname,int _draw_type, int _show_cnt = 0, int _start_x = 0, int _start_y = 0, int _div_x = 1, int _div_y = 1, int _div_h = 0, int _div_w = 0) { として 続く
109 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:25:29 ] >>108 の続き class PlayerChara : public Chara { public: PlayerChara(int _w,int _h,char *imgname,int _draw_type,char *kagename, int _show_cnt = 0, int _start_x = 0, int _start_y = 0, int _div_x = 1, int _div_y = 1, int _div_h = 0, int _div_w = 0) : Chara(_w,_h,imgname,_draw_type,kagename,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w) { setPos(px,py); } を class PlayerChara : public Chara { public: PlayerChara(int _w,int _h,char *imgname,int _draw_type, int _show_cnt = 0, int _start_x = 0, int _start_y = 0, int _div_x = 1, int _div_y = 1, int _div_h = 0, int _div_w = 0) : Chara(_w,_h,imgname,_draw_type,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w) { setPos(px,py); } とすれば 続く
110 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:27:47 ] >>109 の続き Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,"bmp/kage2.bmp",3, 0, 0,5, 2,40,40); の"bmp/kage2.bmp"は指定しなくてOKだし Bocty[0] = new PlayerChara(60,660,"bmp/bocty.BMP",2,"bmp/kage.bmp",3, 0, 0,1,11,60,60); の"bmp/kage.bmp"は指定しなくてOK でも自分で操作するほうだけ影を残す場合は継承?してるっぽいのでちょっといじりかた変わると思う。 C++あまり詳しくないのであれなんだけどさ・・・^^;
111 名前:51 mailto:sage [2008/07/15(火) 11:31:07 ] >>91 ありがとうございます 無事できました
112 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:37:17 ] ja.wikipedia.org/wiki/%E6%8C%BF%E5%85%A5%E3%82%BD%E3%83%BC%E3%83%88
113 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:47:18 ] ヒント:挿入ソートは比較対象となる値を記憶しておく変数を使い 比較中は押し出すだけで、最後に対象の位置へその値を入れるため スワップの必要が無い。
114 名前:45 [2008/07/15(火) 11:52:55 ] >>108 >>109 これ全部やった後、>>110 のようにやって。 これにしました。 Zako[0] = new Chara(200, 80,"bmp/teki.bmp",1,3,0,0,5,2,40,40); Bocty[0] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,0,0,1,11,60,60); Bocty[1] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,60,0,1,11,60,60); Bocty[2] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,120,0,1,11,60,60); Bocty[3] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,180,0,1,11,60,60); Bocty[4] = new PlayerChara(60,660,"bmp/bocty.BMP",2,3,60,360,1,1,60,60); そうしたら cpp(73) : error C2065: 'kagename' : 定義されていない識別子です。 って出たんですけど、影関係全部消去した方が良いのですか?
115 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:57:07 ] >>114 >>109 のこれ忘れてる? Chara(_w,_h,imgname,_draw_type,kagename,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w) { setPos(px,py); } ↓ Chara(_w,_h,imgname,_draw_type,_show_cnt,_start_x,_start_y,_div_x,_div_y,_div_h,_div_w) { setPos(px,py); }
116 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:15:02 ] すいませんが>>55 をお願いします
117 名前:45 [2008/07/15(火) 12:29:19 ] >>115 ありがとうございます!できました! 敵をこれ↓に変えて、跳ね返るときに音鳴らすのはどうやってやるんですか? www.dotup.org/uploda/www.dotup.org5699.bmp.html
118 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:35:25 ] >>60 いや、macになったよ
119 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:35:59 ] >>117 画像のサイズが同じならファイル名同じにして入れ替えるだけだろ
120 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:36:12 ] >>118 コンパイラと言語は同じでは?
121 名前:デフォルトの名無しさん [2008/07/15(火) 12:37:32 ] >>17 を誰かお願いします。
122 名前:115 mailto:sage [2008/07/15(火) 12:40:04 ] >>119 いや違う void Draw() { if(draw_type == 0){ cw = w; cx = 0; ch = h; cy = 0; }else{ cw = div_w; cx = start_x + (cw * (img_id % (div_x)) ); ch = div_h; cy = start_y + (ch * (img_id / div_x) ); } この部分で与えられた画像が1画像1キャラか1画像の指定開始位置から縦方向にn個あるか しか現在処理できないようになってるので横方向にn個並んでる際の処理がいる
123 名前:115 mailto:sage [2008/07/15(火) 12:41:35 ] ってなんで他人が設計した得意でもないC++の解説をやってるんだ俺はorz
124 名前:115 mailto:sage [2008/07/15(火) 12:43:25 ] あ、敵が横だな。 いけるのかな?
125 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 12:52:54 ] >>55 >>116 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7376.c
126 名前:115 mailto:sage [2008/07/15(火) 13:01:30 ] Zako[0] = new Chara(200, 80,"bmp/teki.bmp", 1,3, 0, 0,10, 1,40,40); 引数1,2 任意の座標にしてね。 引数3 今回表示したいbmpのファイル名称に 引数4 1でOKかな? 引数5 キャラクターのアニメーション用コマの切り替えタイミング?3だと1/60*3で切り替えかな? 引数6,7 画像の開始位置、今回の画像は1画像に1キャラの複数コマしかないので0,0で 引数7,8 横方向に10個、縦方向に1個分しかないので10,1で 引数9,10 1キャラの縦横サイズが40x40ドットなので40,40で
127 名前:115 mailto:sage [2008/07/15(火) 13:03:12 ] >>126 の続き サウンド系のお話 class Chara の virtual void Move() { if( (x > 640-cw) || (x < 0) ) { dx = -dx; x = x + dx; } if( (y > 480-ch) || (y < 0) ) { dy = -dy; y = y + dy; } x = x + dx; y = y + dy; } 続く
128 名前:115 mailto:sage [2008/07/15(火) 13:04:12 ] >>127 の続き virtual void Move() { int soundflg = 0; if( (x > 640-cw) || (x < 0) ) { dx = -dx; x = x + dx; soundflg = 1; } if( (y > 480-ch) || (y < 0) ) { dy = -dy; y = y + dy; soundflg = 1; } if (soundflg == 1) { //鳴らしたい音の処理 } x = x + dx; y = y + dy; } とでもすればOKかな? elのサウンド系はよくわからん
129 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:06:33 ] >>1 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
130 名前:115 mailto:sage [2008/07/15(火) 13:09:11 ] ああ、すまん
131 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:15:43 ] >>55 void del_chr(char *str, char c){ char *s,*d; s = d = str; do{ if(*s != c) *d++ = *s; }while(*s++); }
132 名前:131 mailto:sage [2008/07/15(火) 13:17:07 ] かぶった。 リロードしてなかったorz
133 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:17:46 ] >>120 別の学校で同じ課題が出たのかな。 先生も課題考えるのめどいんだろうなー
134 名前:115 mailto:sage [2008/07/15(火) 13:18:56 ] >>133 実は先生も課題用として動く物をこのすれの住人に作らせてると 俺は常々思ってる。
135 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:20:54 ] そんな先生がいたらちょっとした質問であたふたしそうだw
136 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:23:12 ] >>125 ,131 ありがとうございます …そっか、do文か
137 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:27:14 ] >>134 う〜〜ん・・・同じ学校の別の生徒と思われるかもしれんが、もしかすると 講師が課題作りをしたは良いが、模範解答をどうしようか考えて ここを利用している可能性もあるかもね・・・その構図を思い浮かべて、 ちょっとワラタw っつか、俺利用されたっ!?
138 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:28:35 ] 学生臭いスレですね
139 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:29:56 ] >>131 うおっ、その手があったか。先にレスしたけど、それパクらせてもらうw
140 名前:115 mailto:sage [2008/07/15(火) 13:31:37 ] 現実にそれっぽいのがあったんだよ。 週末にここで質問された内容が週明けに再度復活とかさ・・・・
141 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:33:36 ] >>35 pc11.2ch.net/test/read.cgi/tech/1215439445/723 pc11.2ch.net/test/read.cgi/tech/1215439445/725 pc11.2ch.net/test/read.cgi/tech/1215439445/757 pc11.2ch.net/test/read.cgi/tech/1215439445/760
142 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:35:09 ] >>140 なるほど、確かに。講師が模範解答の依頼、それを次の授業の後に ここで質問した人が、既出のソースをそのまま提出して お前、あのスレを使ったな?っとバレて単位がもらえないなんて ことが、どこかの学校であるかも・・・そんな構図を思い浮かべて ますます吹いたw
143 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:37:52 ] >>141 のソースに、2 2 0 と入力した場合について指摘がされているが それをどう解釈するか?確かにこの場合、2番目も1番目も同じと 解釈するなら、2でも問題なし。まぁ、同じでも偶数は2つ入力されている わけだから、これでも問題の趣旨としては条件を満たしていると思われる。
144 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:41:31 ] 学生だって土日は外で遊ぶこともあるべ
145 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 13:52:55 ] [1] 授業単元: C++ [2] 問題文(含コード&リンク): 次の説明を読んで、プログラムを作成しなさい。 小数で入力される気温のデータを5℃単位の整数に丸めたい。 キーボードからdouble型変数kに気温を入力し、 丸めた数値はint型変数gに求め、gを画面に出力する。 ただし入力データに負の気温はないものとする。 また必要なら、 計算途中の中間結果を格納するint型変数wなど、 適宜変数を用意すること。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:VC [3.3] 言語: C++ [4] 期限: [5] その他の制限: 繰り返しや分岐を使わず、簡単な計算で