1 名前:デフォルトの名無しさん [2010/01/18(月) 23:25:55 BE:265079647-S★(508111)] あなたが解けない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++の宿題片付けます 133代目 pc12.2ch.net/test/read.cgi/tech/1260532772/
152 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:34:29 ] >>148 が一体何を望んでいるのか、サッパリ分からない。
153 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:35:33 ] >>152 ただ、仕切りたいだけだろ
154 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:27:07 ] [1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク):www.acm-japan.org/past-icpc/domestic2008/problems/all_ja.html [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: C/C++/どちらでも可 [4] 期限: ([2010年01月26日23:00まで] [5] その他の制限 Problem A の問題です。 頑張ってみたのですが、わかりませんでした。 どなたか、よろしくお願いします。
155 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:24:48 ] >>148 とりあえず赤くしておく
156 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:00:15 ] >137 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10440.txt ・入力例に全角スペースが含まれていますが、全角スペース対応はしていません。 ・出力例が意味不明だったので、独自解釈をしました。 ・ファイル読み込み(fscanf)のエラーチェックとバッファーオーバーラン対策はしていません。 ・ファイル書き込み(fprintf)のエラーチェックはしていません。 問題があれば具体的に指摘してください。たぶん、対応します。
157 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:01:21 ] >>154 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10441.txt
158 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:36:12 ] >>153 最近こんな生徒さんが多いですね。こういうのが学校ではやっているんですかね?
159 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:37:27 ] >>154 さすがにこれに答えちゃいけないでしょう。自力でなんとかしなさい。
160 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:51:47 ] >>136 遅くなりました ありがとうございました
161 名前:デフォルトの名無しさん [2010/01/25(月) 20:11:44 ] [1] 授業単元: プログラミング演習(木構造と数式処理) [2] 問題文(含コード&リンク): 累乗の計算の逆を行うプログラムを作ってください。 例 x*x*xと入力されればx^3と画面に出力する。 x*x*x*aなどの場合はx^3*aと出力されればよい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2010年1月28日12:00まで
162 名前: ◆NPjWSW9EXI [2010/01/25(月) 20:28:20 ] 103です >>113 遅くなりました 有難うございました。 どなたか2番を解いてくださいお願いします。
163 名前:デフォルトの名無しさん [2010/01/25(月) 20:46:36 ] >>129 すみません…ありがとうございます。あと、昨日聞き忘れてしまったんですが、 意味的に同じであると思うんですが、この2つを書き方分けてる理由は何ですか? cout << "{(a+b)c-a(b-c)}/{(c/b)a+abc-ca} = "; cout << ((a+b)*c-a*(b-c))/((c/b)*a+a*b*c-c*a) << '\n';
164 名前:93 [2010/01/25(月) 20:51:51 ] 言い忘れてしまいました。これを考察というのをするんですが、この2つを比較でもしようかなと思うんですが、 プログラムの文章の書き方が違うとかそういう事以外で何かありますか?
165 名前:120 mailto:sage [2010/01/25(月) 22:20:29 ] >>146 素材はそのまま生かしましたw kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10443.txt
166 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 22:24:24 ] >>162 #include <stdio.h> void mult_array(int a0[4][4],int a1[4][4],int result[4][4]){ int x,y,k; for(y=0;y<4;y++){ for(x=0;x<4;x++){ for(k=0;k<4;k++){ result[y][x]+=a0[y][k]*a1[k][x]; } } } } int main(){ int a0[4][4]={0}; int a1[4][4]={0}; int result[4][4]={0}; int y; for(y=0;y<4;y++)scanf("%d%d%d%d",&a0[y][0],&a0[y][1],&a0[y][2],&a0[y][3]); for(y=0;y<4;y++)scanf("%d%d%d%d",&a1[y][0],&a1[y][1],&a1[y][2],&a1[y][3]); mult_array(a0,a1,result); for(y=0;y<4;y++) printf("%d %d %d %d\n",result[y][0],result[y][1],result[y][2],result[y][3]); return 0; }
167 名前:hoge [2010/01/25(月) 23:07:26 ] 上の105ですが、もう一度質問させて頂きます。 なぜなら、課題2対しての回答がないからです。 皆様よろしくお願いします。 [1] データ構造とプログラミング [2]b01, b001 のように二進数をb で始まるように表記する。二進数の集合を、できるだけ少ないノード数 の二分木に分類するためには、二分木のノードに蓄積する二進数の桁数を可変にすることが有効である。こう することで二進数表記した値(たとえばキーワードとか、位置とか、日付とか)に紐づけられたデータを少な い検索で見つけることができる。 扱う二進数の集合を、たとえば b00, b001, b0011, b00111, b1000, b11100, b0 として、これらを図1に示すようにニ分木に分類して、帰りがけ(ポストオーダ)で次のように出力するプロ グラム(tree) を作成し、C のソースコードを提出しなさい。 >./tree >1 1 1 0 0 000 1100 0 1 b [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C++) [4] 期限: ([2010年1月26日23:59まで]) [5] その他の制限
168 名前: ◆QZaw55cn4c mailto:sage [2010/01/25(月) 23:15:59 ] >>143 コマンドラインで * を入力すると、シェルが解釈していまうので、 実行後、標準入力から式を入力してください。 codepad.org/H4KWIkS9
169 名前: ◆NPjWSW9EXI [2010/01/26(火) 00:39:43 ] >>166 助かりました 有難うございます
170 名前:homi [2010/01/26(火) 00:46:56 ] >>168 ありがとうございます!!><
171 名前:homi [2010/01/26(火) 00:50:11 ] 前にこれを上げたものです。 課題1はすでにやってもらったのですが、 課題2がまだです。 再UPになりますが、もしできる方いらっしゃいましたらよろしくお願いします>< [1] データ構造とプログラミング [2] www.geocities.jp/t07644fb/kadai.pdf [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C++) [4] 期限: ([2010年1月26日23:59まで]) [5] その他の制限 失礼しました
172 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:56:37 ] >>171 あなたはそのために単発スレまで建てたんだからそっちでやりなよ
173 名前:137 mailto:sage [2010/01/26(火) 01:27:20 ] >>156 返事が遅くなってすいません 全角スペースは対応しなくても大丈夫だと思います 私の独自解釈では、おそらく"in_file"内の整数18個を5*3+3の4行に分け、最も長くなる行に揃えて出力すればいいのかと… 適当に入力した数値が綺麗に並んで出力されたので、問題ないと思います 助かりました ありがとうございました
174 名前:デフォルトの名無しさん [2010/01/26(火) 01:30:22 ] [1] データ構造とプログラミング [2] リングバッファを使って、9個のキューを作り、データを追加したり、 データを取り出すプログラムを完成させなさい。 以下の添付にあるプログラムを完成させろという課題です。 www.geocities.jp/pegasus_violet/en5-2.pdf [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C++) [4] 期限: ([2010年1月26日23:59まで]) [5] その他の制限 よろしくお願いいたします
175 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 02:40:07 ] いつから質疑応答スレになったんだ? 宿題を依頼し、片付けてもらうスレだろ?
176 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 02:48:16 ] >>175 あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。 気に入らない質問やその他の発言はスルーの方向で。 気に入らない質問やその他の発言はスルーの方向で。 気に入らない質問やその他の発言はスルーの方向で。
177 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 03:18:10 ] 気に入らない依頼やその他の質問はスルーの方向で。
178 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 05:25:11 ] >>174 codepad.org/7ifr4yYK
179 名前:83 mailto:sage [2010/01/26(火) 07:46:44 ] >>97 ,98 遅くなりましたがどうもありがとうございました。
180 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 08:27:07 ] 問題文の曖昧さと回答の多様性の擦り合わせの先に真の回答が あるんじゃね? ことプログラム作文に関しては 問題、回答、終了という気持ちのよいスケジュールが 立てられるとは思わないほうがいいかも 数学問題の影響受け過ぎ(てか数学が異常な学問)
181 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:17:28 ] >>161 codepad.org/C6kJenpg 木構造ってあったから,2分木を使ったけど, 配列を使った方が,入力サイズは限られるが,楽だと思う。 問題文から察するにソートする必要ないし。 エラーチェックは甘いけど,バグってたりしたら, 教えて下さい。治さないかもしれないけど。
182 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:19:50 ] >>180 が一体何を望んでいるのか、サッパリ分からない。
183 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:23:35 ] >>161 codepad.org/hBX7Dn6H ごめん。余分な出力が入ってたので修正した。
184 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:33:44 ] >>182 が>>180 の望みをわかることも>>180 は望んでいる んだろう。しかしね。ここは2chでプログラミング の宿題を片付けるスレで、いろいろと制約も多い んで、質疑応答形式になってしまっているんだ。
185 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:42:30 ] >>184 が一体何を望んでいるのか、サッパリ分からない。
186 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 09:46:52 ] >>180 にもわからないだろね
187 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 10:19:16 ] >>180 >問題文の曖昧さと回答の多様性の擦り合わせの先に真の回答が >ある そうなんだろうが、誰もがそういう水準に到達出来るわけじゃ ない。国語の作文の授業みたいに完全に自由か、 数学の入試問題のように極度に不自由かのいずれ か一つじゃないと皆やらないだろ?
188 名前:デフォルトの名無しさん [2010/01/26(火) 10:49:19 ] >>178 遅くなりましたが ありがとうございました!
189 名前:デフォルトの名無しさん [2010/01/26(火) 10:52:56 ] [1] データ構造とプログラミング [2] ツリーにノードを追加するプログラムを完成させなさい。またプログラム中 に使われている要素 mitsugi, emura, satou, yonemura, murai, nakamura, kwkt がツリー上でどのように配置され ているか書きなさい。 以下の添付にあるプログラムを完成させろという課題です。 www.geocities.jp/pegasus_violet/en9-5.pdf [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C++) [4] 期限: ([2010年1月26日23:59まで]) [5] その他の制限 よろしくお願いいたします
190 名前:デフォルトの名無しさん [2010/01/26(火) 11:00:16 ] [1] データ構造とプログラミング [2] 以下の添付にあるプログラムを完成させ配列のrotateを完成させろという課題です。 www.geocities.jp/pegasus_violet/en8-4.pdf [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C++) [4] 期限: ([2010年1月26日23:59まで]) [5] その他の制限 よろしくお願いいたします;;
191 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 11:43:16 ] >>189 void AddChild(struct NODE** p, char* name){ if (!*p) { *p = (struct NODE *)malloc(sizeof (struct NODE)); (*p)->left = (*p)->right = 0; strcpy((*p)->name, name); } else { AddChild(strcmp(name, (*p)->name) < 0 ? &(*p)->left : &(*p)->right, name); } }
192 名前:デフォルトの名無しさん [2010/01/26(火) 13:15:50 ] >>191 大変ありがとうございます
193 名前:デフォルトの名無しさん [2010/01/26(火) 13:23:04 ] [1] 授業単元:プロトタイプ宣言とか引数 [2] 問題文(含コード&リンク):[3〜6]∫x^2 dx(これだと正解は63)を計算するプログラムを作成せよ。 尚、積分本体(始点と終点)と関数本体f(x)に分けること。dx=1/N N=(10,1000…10000)誤差評価を行う事。積分範囲を変更すること。x^2の関数を変更すること。 [3] 環境 [3.1] OS:xbuntu [3.3] 言語:C++ [4] 期限: 2010年1月25日 [5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、 #include <iostream> using namespace std;です。
194 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:15:37 ] >>193 codepad.org/PqWWIDA4 積分範囲とか積分関数変えるのは適当に自分でやってくれ (積分関数:6行目、積分範囲:20〜22行目、厳密解:27行目)
195 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:31:19 ] >>193 期限後なのに1時間も経たずにやってくれた人が 居たのはラッキーだったと思うべし つーか期限後の宿題を片付けるのはややルール違反 気味
196 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:33:44 ] >>195 もういいからお前は消えろ。 二度とこのスレに来るな。
197 名前:よろしくお願いします(m_m) mailto:sage [2010/01/26(火) 14:55:29 ] [1] 計算機概論 [2] 8bit整数が8つ与えられている。これをunsigned char配列と みなしa[]と名付ける。 unsigned char 整数のor,not演算だけを用いて1<=n<=8からa[n]を 計算するC計算式を出力するプログラム 例:a[]={1,2,3,4,5,6,7,8}; 出力 return n; a[]={1,0,1,0,1,0,1,0}; 出力 return !(!n or 11111110b); [3.1] OS:Mac OS-X [3.2] XCode 3.0(gcc 4.0) [3.3] C言語 [4] 1/25 正午(厳守) [5] 出来るだけ短いコードを出力するプログラムを書く事
198 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 16:41:15 ] 仕切り男が不快だから、次のスレのテンプレから期限を外そうじゃないか。
199 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:15:36 ] 気に入らない質問やその他の発言はスルーの方向で。
200 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:29:34 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): A組、B組、C組にそれぞれn人の生徒がいて、 A組の生徒が一列に並んでいる。 このとき、B組の生徒をA組の生徒の隣に並ばせたいが なるべく隣同士で身長に差がないようにしたい。 どうやって計算すればいいでしょう? 加えて、C組の生徒もB組の隣に並ばせたい場合はどうすれば? (身長の配列) double height_a[n], height_b[n], height_c[n]; [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C++ [4] 期限: 2010年1月28日(木)16:00 [5] その他の制限: 特にありません B組だけを考える場合はn!、C組も考える場合はn!×n!の並び方を生成して、 身長差の合計を計算して最小ならその並び方を保存って感じでいいと思うんだけど そのやり方が思いつかない・・・ B組のみの場合 (B組をn!通り並ばせるループ){ diff = sum(n人の身長差の合計); if(diffが最小){ B組の並び順を保存 } } こんな感じになると思うんだけど・・・ お助けください。
201 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:30:10 ] >>197 意味不明だな・・・
202 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:34:13 ] >>201 a[n-1] と等価となる NOT, AND, OR の連結で得られる式を作るプログラムを作れ だと思うが… 俺には難しい。 a[n] が 0〜255 を取り得るからなぁ
203 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:36:59 ] >>200 A<Bの時 A:1 2 3 4 5 6 B:1 2 3 4 こういう並びはアリですか? ナシならA=Bの時と同じで Bがどのように並んでも身長差の合計は同じですよね
204 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:41:09 ] ★期限の過ぎた問題を依頼してはいけません
205 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:48:42 ] >>202 オレは加算演算子や添え字を使わずに a[n],*(a+n)をnot,orのみで表現しろと言う事か 添え字が1からなので減算も必要だしめんどくさそうだね
206 名前:200 mailto:sage [2010/01/26(火) 17:54:01 ] >>203 すいませんA<Bっていうのがよくわかりません B組のほうが平均身長が高いという意味でしょうか? 身長の値については定まったものではなく任意です。 A,B,C組で人数は同じn人です。n=6だとすると下のようになります。 A:1 2 3 4 5 6 は固定で隣同士の身長差の和が最小となる B:5 1 6 2 4 3 みたいな並び方をn!で総当りで調べる・・・ B組の並び順をint narabi_b[n]として、 narabi_b[n]にn!通りの1〜nの数字を入れる? うーん・・・
207 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:02:27 ] >>206 人数の事ね。 不等号が逆だったごめん。 A,B,C組で人数は同じn人で 身長差の和が最小となる という条件ならどう並んでも同じだよ。 (A1-B1)+(A2-B2)+(A3-B3)=(A1+A2+A3)-(B1+B2+B3)
208 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:04:18 ] >>207 絶対値を取る可能性もあるぞ
209 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:05:09 ] >>202 添字n(1,2,3,4,5,6,7,8)から対応するa[n](これは任意の0~255 となり得る)をor とnotからなる式で表す。nと定数は 使っても良い。 (n or (! n or 11110011b) ) or !( !n or 10110111b) .... という式のn=1,2,3,4,...,8 に対する値が指定したものに なるように式を選ぶプログラムを作れ って意味じゃないかなと思うが、これは多分不可能じゃないかと... a[n] = n >> 1 とかの場合はどーすんだ? ネタじゃないかとは思ってはいるが...
210 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:05:42 ] >>208 あぁ、それなら納得
211 名前:200 mailto:sage [2010/01/26(火) 18:07:01 ] >>207 確かにその通りです。 ちょっと私の書き方がよくなかったです。 身長差の絶対値の和というべきでした。 すいません。
212 名前:デフォルトの名無しさん [2010/01/26(火) 18:52:01 ] よろしくお願いします。 [1] 授業単元: Cプログラミング入門演習U [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10445.txt [3] 環境 [3.1] OS: WindouwsVista [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2010年1月28日(木) [5] その他の制限: 特にありません
213 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:57:51 ] [1] 授業単元: プログラミングとコンパイラ [2] 問題文:kadai.cを単項演算子の+-、剰余演算子%に対応するように改造せよ サイトkansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm のC/C++の宿題片付けます132代目の10446.zip [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限:2010年1月29日まで [5] その他の制限:パーサがどのようにして解析コード生成されていくかの説明も添付
214 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 19:37:47 ] >>212 #include <stdio.h> #include <stdlib.h> int average(int *nums, int size) { int i, sum = 0; for (i = 0; i < size; i++) sum += nums[i]; return size ? sum / size : -1; } static int min_distance_target; int min_distance_cmp(const int *a, const int *b) { int diff = abs(min_distance_target - *a) - abs(min_distance_target - *b); return diff ? diff : (*a - *b); } void min_distance_sort(int *nums, int size, int target) { min_distance_target = target; qsort(nums, size, sizeof (int), (int (*)(const void*, const void*))min_distance_cmp); } void scan(int *nums, int size) { int i, tmp; for (i = 0; i < size; i++) { scanf("%d", &tmp); nums[i] = tmp; } }
215 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 19:39:49 ] >>212 つづき void print(int *nums, int size) { int i; for (i = 0; i < size; i++) printf("%s%d", i ? " " : "", nums[i]); puts(""); } int main() { int size, nums[100]; scanf("%d", &size); if (100 < size) size = 100; // (最大で100とする) scan(nums, size); min_distance_sort(nums, size, average(nums, size)); print(nums, size); return 0; } 注:肝心のソートが手抜き(qsort頼り)だから先生によっては怒られるかも。 やむをえずstatic int min_distance_target; というグローバル変数も使ってしまってる。
216 名前:備忘録 mailto:sage [2010/01/26(火) 20:49:27 ] ★関連スレ 大学のプログラミング演習の課題を添削するスレ pc12.2ch.net/test/read.cgi/tech/1188501699/
217 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:33:02 ] C++でOpenGLの勉強してます。OpenGLなんですが、言語はC++なのでこちらで質問していいのかな?
218 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:40:03 ] OpenGLに限らずそういう専門的なものはあんまり期待しない方が良いよ。 ダメとは言わないけど
219 名前:誘導 mailto:sage [2010/01/26(火) 21:46:59 ] OpenGLスレ Part14 pc12.2ch.net/test/read.cgi/tech/1263901596/ でどーぞ
220 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:47:03 ] [1] 再帰リスト構造 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10447.txt [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (gcc) [3.3] 言語: (C) [4] 期限: (1月29日0時まで) [5] その他の制限: (特になし) 上のソースでプログラムは実行しますが、 name、emailに2文字以下だと大丈夫なのですが、3文字以上入力すると 出力のテンプレートが崩れてしまいます。 どこがおかしいかお願いします。
221 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:58:12 ] >>212 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10449.txt
222 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:03:21 ] >>220 age2 = (char*)malloc(sizeof(char)); これでは、char一文字分しか確保されない。 文字数nの文字列の場合、 age2 = (char*)malloc(sizeof(char) * n + 1); と書く。+1は終端文字'/0'のために準備。 getline(age2, sizeof(age2)); これでは、int nとして渡すには不十分。 sizeof (char *)の意味になる。 文字数nの文字列の場合、 getline(age2, n); と書く。getlineが実際にどう動くかは想像しかしてないけど。
223 名前:212 mailto:sage [2010/01/26(火) 22:13:29 ] >>214-215 素早い回答感謝します
224 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:16:39 ] やはりここでOpenGLの質問は、あまりよくないようですねorz >>219 様の誘導先は質問スレではないのでダメかな? って思ってやめておいたのですが、そちらのスレに質問を書かせていただきました。 もしOpenGLのことも分かる方が居ましたらOpenGLの掲示板に書かせていただきましたので ご回答していただけるとすごく嬉しいです><
225 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 23:00:20 ] [1] 授業単元:情報科学U [2] 問題文(含コード&リンク):www.f.csce.kyushu-u.ac.jp/~ogi/kougi/11.pdf [3] 環境 [3.1] OS: Windows Vista [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2010年1月27日23:59まで [5] その他の制限:特にありません どうしてもわかりません。すみませんがよろしくお願いします。
226 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 23:15:18 ] >>225 void DspArray(int *p,int n){ while(n--){ printf("%d ",*(p++)); } printf("\n"); } こう言う事?
227 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 23:15:23 ] [1] 授業単元:(大学専門課程某講座) [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10450.txt [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン:Visual studio .NET [3.3] 言語: C [4] 期限: 2010年1月31日まで [5] その他の制限:特にありません
228 名前:226 mailto:sage [2010/01/26(火) 23:19:42 ] >>225 よく読んでなかった。 void DspArray(int array[],int n){ int i; for(i=0;i<n;i++){ printf("%d ",array[i]); } printf("\n"); }
229 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 00:19:45 ] >>222 ありがとうございます。
230 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 01:00:28 ] >>213 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10451.zip
231 名前:デフォルトの名無しさん [2010/01/27(水) 01:17:34 ] >>194 ありがとうございました。
232 名前:デフォルトの名無しさん [2010/01/27(水) 01:27:49 ] [1] 授業単元:プロトタイプ宣言とか引数 [2] 問題文(含コード&リンク): 得点を入力して以下のルールに従った成績を返す関数を実装せよ。 90点以上 S 80点以上 A 60点以上 B それ未満 C ()の中に何か入るらしいです () score(int sc) { [3] 環境 [3.1] OS:xbuntu [3.3] 言語:C++ [4] 期限: 2010年1月28日 [5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、 #include <iostream> using namespace std;です。
233 名前:デフォルトの名無しさん [2010/01/27(水) 01:29:01 ] [1] 授業単元:プロトタイプ宣言とか引数 [2] 問題文(含コード&リンク): 入力された数字が偶数なら、trueを返す関数。それ以外ならfalse ()の中に何か入るらしいです () even(int sc) { [3] 環境 [3.1] OS:xbuntu [3.3] 言語:C++ [4] 期限: 2010年1月28日 [5] その他の制限:出力→cout,入力→cin,あと、簡単にお願いします。始まりは、 #include <iostream> using namespace std;です。
234 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 02:29:00 ] >>227 codepad.org/hRbZ2Z1N 左端の数字は元の行数。修正した行には/*修正*/ 修正内容は ・後半のソートの呼び出しの引数が逆になっていたのを修正(26行目) ・ & を && に変更(42行目) ・ ++p などを p++ に変更(11,42-45行目) N=10000だと表示がアレなんだがN=100くらいだとちゃんと表示される
235 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 02:30:50 ] >>232 char score(int sc){ if(sc>=90) return 'S'; if(sc>=80) return 'A'; if(sc>=60) return 'B'; return 'C'; }
236 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 02:31:52 ] >>233 bool even(int sc){ return (sc%2 == 0); }
237 名前:デフォルトの名無しさん [2010/01/27(水) 03:28:16 ] >>235 実行してみたんですが、できないんですが、どうしてでしょうか
238 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 04:37:48 ] >>237 「できないんです」 は禁句 何を期待したか、どんな操作をしたか、そしてどんな結果になったかの 3 点を書かないと 何が問題なのか見た人には分からない
239 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:51:08 ] >>230 ありがとうございました!
240 名前:227 mailto:sage [2010/01/27(水) 12:07:55 ] >>234 ありがとうございます。大変面倒な課題のほうたった2時間余りで 迅速にやって頂けて試験前なので助かりました。 (1月31日位になるかと思ってました) 実はもっと長いもの(数値計算関連で長さ約300行)も出てい るので(そちらのほうは必須ではないですが試験が出来なかっ た場合に提出していれば不可になる確率がずっと低くなるそうで) そちらもやって頂けると非常に嬉しいのですがよろしいでしょうか?
241 名前:147 mailto:sage [2010/01/27(水) 13:09:03 ] 147をどなたかお願いできないでしょうか? よろしくお願いします。
242 名前:デフォルトの名無しさん [2010/01/27(水) 13:37:16 ] >>232 #include <iostream> using namespace std; char score(int sc){ if(sc>=90) return 'S'; if(sc>=80) return 'A'; if(sc>=60) return 'B'; return 'C'; } fatal error LNK1120: 外部参照 1 が未解決です。 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。 とでるんですが…
243 名前:デフォルトの名無しさん [2010/01/27(水) 13:38:14 ] >>238 でしたすみません。
244 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 14:22:57 ] >>147 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10452.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10453.txt
245 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:23:10 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): キーボードから正の整数nを入力し、n!を計算して画面表示するプログラムを 作成せよ。ただし、階乗を計算する関数のプロトタイプを「void kaiyo(int , int *)」 とし、第1引数にnを、第2引数に計算結果を格納する変数のポインタを指定すること。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C++ [4] 期限: 2010年1月28日木 [5] その他の制限: よろしくお願いします
246 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:32:11 ] >>245 #include <iostream> void kaiyo(int , int *); int main() { int n, ret; std::cin >> n; kaiyo(n, &ret); std::cout << ret; } void kaiyo(int n, int *ret) { *ret = 1; for (int i = 1; i <= n; i++) { *ret = *ret * i; } }
247 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:47:37 ] >>246 ありがとうございます!
248 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:55:11 ] >>234 よくこんな糞問題に手を出すなぁw show()が2つあるのはソート前後の比較用でしょ ソート途中を示すものじゃないと思うよ N=10000でもエディタの設定で折り返しなしにすれば 見れないことは無いけど1行8000バイトだからひどいもんだ
249 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 18:02:03 ] >>242 main() を書きましたか?
250 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 20:23:38 ] [1] 授業単元:情報処理演習 [2] 問題文(含コード&リンク): 次のプログラムで作成される縞パターンを縦にした画像を作成するプログラムを作成せよ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10454.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) Linux [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc 3.4 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 提出期限2010年1月29日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 特にないです よろしくお願いします。
251 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 21:09:22 ] >>250 txtでうpしてるのに何でインデント潰すの? 必要なスペースまで潰すのは嫌がらせ? //if(i>=75 && i<=125){ if(j>=150 && j<=250){ //元々の数字がマジックナンバーなので好きに替えてくれ
252 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 21:11:05 ] sin のマクローリン展開とコンピュータ定義のsinとの誤差を求めよとの問題なのですが エントリーポイントを定義しなければならないとエラーが出ているのですが解決方法がわかりません #include <stdio.h> #include <math.h> #define gosa 0.00001 double sa(double x){ double d,dt; int k; k=1; d=0; dt=x; d=d+dt; while(1){ if(fabs(sa(x)-cos(x))<gosa)break; } dt=dt*(-1)/((k+1)*(k+2))*x*x; k=k+2; return fabs(sa(x)-cos(x)); } int main(){ double x; x=0.00; while(1){ printf("x=%3f cosの差=%12f\n",x,sa(x)); x=x+0.01; if(x<=1.00)break; } } どうかよろしくお願いします 計算式が間違ってる・・・とかはスルーして貰って結構です [3] 環境 [3.1]windows vista[3.2] visual C++ 2008[3.3] C++[4] [無期限]