- 1 名前:デフォルトの名無しさん [2012/07/22(日) 23:08:24.46 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 >>2以降にあります。 ・問題文は、出題されたまま全文を書いてください。 ・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
- 8 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 15:12:00.64 ]
- [1] 授業単元:
[2] 問題文(含コード&リンク): 試合で自分のチームが勝つ・負ける・引き分けるの予想を、10人に予想してもらってプログラムに入力する。 予想した人が男性の場合は M を入力し、女性の場合は W を入力する。 勝ちを予想した場合は 整数1 を入力し、負けを予想した場合は 整数 2 を入力し、引き分けを予想した場合は 整数 0 を入力する。 それら10人分の予想結果を、「 勝ち1・引き分け0・負け2 」に男女別に集計し表示するプログラムを、 構造体 struct datatype { char sex;// 男女の性別、男性 M、女性 W int expectation;// 勝ち 1、負け 2、引き分け 0 } を利用して作成せよ [3] 環境 [3.1] OS:Win7 [3.2] コンパイラ名とバージョン:VS2008 [3.3] 言語:C [4] 期限:7/25 [5] その他の制限:
- 9 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 15:14:35.02 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):codepad.org/T1z7LREU 次のプログラムのポイントを説明せよ。 [3] 環境 [3.1] OS:Windows [3.3] 言語: C [4] 期限: 2012年7月24日まで [5] その他の制限:文字列の長さを取得する関数プログラムです。 口頭で説明しなくてはいけないので、ポイントとなる部分を教えていただけたら助かります。
- 10 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 15:17:07.22 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):codepad.org/MgzgubzZ 次のプログラムのポイントを説明せよ。 [3] 環境 [3.1] OS:Windows [3.3] 言語: C [4] 期限: 2012年7月24日まで [5] その他の制限:文字列をコピーする関数プログラムです。 口頭で説明しなくてはいけないので、ポイントとなる部分を教えていただけたら助かります。
- 11 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 18:50:58.18 ]
- Cの文字列定数 "ABC" はメモリ上では 'A', 'B', 'C', '\0'と末尾に'\0'が入る。
mystrlen()は'\0'は含まない文字列の長さを返す。 while()文の条件式は、与えられたアドレスの中身を取り出し、1つポインタをすすめ、 中身が'\0'でなけければlenを1加算する。 '\0'ならループを終了する。 mystrcpy()はs1へs2の内容を\0まで\0を含めてコピーする。 コピーするバイト数はmystrlen(s2)+1バイトである。 それぞれ、NULLが渡されたときのことを考慮に入れていない。 口頭で説明する際には、「ここは、がーっとやって、こーなるわけですよ」 と答えればよい。
- 12 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 19:54:10.11 ]
- 前スレの>>993です。
新しいスレに移行したので、念のためもう一度質問させていただきます。 [1] 授業単元:ハブのシミュレーション [2] 問題文(含コード&リンク): www.kent-web.com/pubc/book/test/uploader/uploader.cgi?mode=downld&no=5501 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C++ [4] 期限:2012年7月25日まで [5] その他の制限:ideone.com/T3e0jのプログラムを参考にしてください。 よろしくお願いします。
- 13 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 22:02:25.99 ]
- >>11
適切な御解答ありがとうございました。
- 14 名前:デフォルトの名無しさん mailto:sage [2012/07/23(月) 22:05:52.73 ]
- 適切な御贈答ありがとう
- 15 名前:デフォルトの名無しさん [2012/07/24(火) 00:12:08.94 ]
- [1] 授業単元:c言語
[2] 問題文(含コード&リンク): ビット単位の論理演算を用いて、1文字の英字の大文字を小文字に変換する関数と、 小文字を大文字変換する関数をそれぞれ作りなさい。 また、char型の変数のビットの並びを表示する関数を作成しなさい。 ただし、ビット単位の論理演算とシフト演算子を用いることとし、 四則演算(加減乗除)は使わない。 例えば、文字'A'は0x41であるので、0100 0001となる。 配列のサイズなど、定数は#defineを利用すること. 入力や表示を目的とする関数以外では、 関数の中で標準入力や標準出力への入出力は行わないこと [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2012年7月29日まで [5] その他の制限: お手数ですが、よろしくお願いします。
- 16 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 00:48:24.46 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):codepad.org/aARzaP9m 次のプログラムのポイントを説明せよ。 [3] 環境 [3.1] OS:Windows [3.3] 言語: C [4] 期限: 2012年7月24日まで [5] その他の制限:文字列から10進数へ変換する関数プログラムです。 口頭で説明しなくてはいけないので、ポイントとなる部分を教えていただけたら助かります。
- 17 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 01:06:45.93 ]
- toro.2ch.net/test/read.cgi/tech/1339338438/822
ideone.com/VMl0z 数値解析は回答がつきにくいし、解析解を求めさせるとなると、このスレ的には一層敷居が高い問題になるね。
- 18 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 02:09:36.75 ]
- >>15
ttp://ideone.com/CQPLy
- 19 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 02:16:42.89 ]
- >>17
色んな所にマルチポストしてたからみんなレス付けなかっただけじゃねえの
- 20 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 02:17:40.70 ]
- 敷居が高いの使用法がおかしい
- 21 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 04:58:33.18 ]
- >>19
簡単な問題ならマルチでもつく。数値解析や微分方程式を解くとかは、理由をつけて誰もやらない。 みんな数学苦手なんだね。 >>20 確かに
- 22 名前: ◆QZaw55cn4c mailto:sage [2012/07/24(火) 06:24:36.57 ]
- >>15
toro.2ch.net/test/read.cgi/tech/1313183984/281
- 23 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 13:18:07.12 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):ideone.com/jE2IX [3] 環境 [3.1] OS:linux [3.2] gcc [3.3] 言語: C [4] 期限: 2012年7月26日まで [5] その他の制限: よろしくお願いします
- 24 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 13:23:30.07 ]
- マンコ マンド
- 25 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 14:45:11.75 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク) 上記プログラムを関数を定義して書き直してください。 よろしくお願いします。 [3] 環境 [3.1] OS:linux [3.2] gcc [3.3] 言語: C [4] 期限: 2012年7月27日まで [5] その他の制限: よろしくお願いします
- 26 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 14:46:50.95 ]
- ↑プログラム張り忘れますた
ttp://ideone.com/ZvUuR
- 27 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 14:54:49.41 ]
- >>25
ttp://ideone.com/i3EjT
- 28 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 14:58:05.98 ]
- ねーよwww
マッシヴすぎんぞwww
- 29 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 17:30:06.46 ]
- >>27
どこが変わってるいるのでしょうか?
- 30 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 17:36:19.64 ]
- うわっQ臭い
- 31 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 20:59:17.00 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク): 以下の問題文の ^ はべき乗をあらわす記号とする。 1.二次方程式 "ax^2+bx+c=0" のxの解を"解の公式"を使って求め、表示しなさい。 a,b,cは乱数によって決定されるdouble型の変数とする。 a,b,cは "a≠0 , b^2-4ac>=0" を満たすものとする。 解の公式は {-b±√(b^2-4ac)}/(2a) を使うこと。 2.解の公式を使って解く上記方法には問題点があります。 上記問題点とは、"a=0 , b^2-4ac<0"の時という意図ではありません、 あくまで"a≠0 , b^2-4ac>=0"である前提での問題点です。 その問題点がなんであるかを答え、 その問題点を解決するプログラムを作成しなさい。 [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C
- 32 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 21:59:39.35 ]
- 以下、ルート4.0000を計算できずに詰まる回答が登場します。
ご期待くだしあ。
- 33 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:30:33.65 ]
- >>31
ttp://ideone.com/g14Xy 2.の問題点は分からん
- 34 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:48:04.13 ]
- b^2-4ac=0で解が1つしかないくらいしか思いつかない
- 35 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:52:37.84 ]
- >>33
e-words.jp/w/E6A181E890BDE381A1.html
- 36 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 22:57:33.97 ]
- 重根を重根と判定出来ない可能性があるって事か
- 37 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 23:39:12.39 ]
- 重婚と結婚詐欺が区別できないてことか
- 38 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 23:40:32.81 ]
- 虚根、いや巨根の扱いは?
- 39 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 23:42:29.22 ]
- a=0, b≠0
とか a=b=0、c≠0 とか a=b=c=0 とか
- 40 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 00:20:43.26 ]
- >>35が指摘しているが、a, c に比べて b が十分大きいと、
解の公式の分子部分がbと「ほぼb^2の平方根」の引き算になるので 桁落ちが発生しやすくなる。数値計算特有の問題
- 41 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 00:33:48.01 ]
- >>40
それは α= -b-sqrt(b*b - 4*a*c) を先に求めておいて、後は解と係数の関係を用いて β= -(b/a)-α とすれば回避できそう。 いろいろヒントが出てきたね。
- 42 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 01:05:44.87 ]
- >>8お願いします
- 43 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 01:35:39.80 ]
- >>41
解の公式大丈夫かよ・・・ そもそも同じくらいの大きさのでかい数の引き算で死んでるんだから, それじゃ意味無いだろ. 普通に-b/(2a)から二分探索でもすればよい. -b/(2a)を計算する時点でずれるような奴はこれだけじゃ辛いけど.
- 44 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 05:48:58.89 ]
- >>43
おっとっと。分母をわすれていた。α= (-b-sqrt(b*b-4*a*c))/(2*a) b^2 >> 4ac を仮定するとα≒-b/a β≒ 0 ... やっぱり桁落ちはさけられないですかね。
- 45 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 08:03:11.22 ]
- どなたか>>12をお願いします。
- 46 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 11:25:57.37 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):次のプログラムを一つ一つ手順を追って説明せよ。 codepad.org/iARWUPGk [3] 環境 [3.1] OS:Windows [3.3] 言語:C言語 [4] 期限: 2012年7月27日 [5] その他の制限:main関数では〜のように、など一つ一つ どのような動きをしているか説明していただけたら幸いです。
- 47 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 11:28:10.49 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク):次のプログラムを一つ一つ手順を追って説明せよ。 codepad.org/WyihG6LV [3] 環境 [3.1] OS:Windows [3.3] 言語:C言語 [4] 期限: 2012年7月27日 [5] その他の制限:連投すみません。 main関数では〜のように、など一つ一つ どのような動きをしているか説明していただけたら幸いです。
- 48 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 11:31:20.48 ]
- >>46
普通に読めばいいだけじゃないの?
- 49 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 12:22:26.56 ]
- >>47
コメントを1行ずつに付けてください。
- 50 名前:デフォルトの名無しさん [2012/07/25(水) 14:52:12.18 ]
- >>46
void swap(struct addressSheet ary[], int i, int j) { struct addressSheet tmp; tmp = ary[i]; ary[i] = ary[j]; ary[j] = tmp; return; } この書き方で構造体配列の全メンバを入れ替えられたっけ?
- 51 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/07/25(水) 14:53:08.18 ]
- >>50 OK。return;はいらない。
- 52 名前:デフォルトの名無しさん [2012/07/25(水) 15:00:24.21 ]
- [1] 授業単元:c言語
[2] 問題文(含コード&リンク): 複素数z=x+iyの実部Reと虚部Imをメンバに持つ構造体を定義し、 2つの複素数z1,z2に対して、和z1+z2と積z1×z2を求める関数を それぞれ作成しなさい。返却値型もこの構造体とする。 構造体の定義例 struct my_complex { double Re; /** 実部 **/ double Im; /** 虚部 **/ } 配列のサイズなど、定数は#defineを利用. 入力や表示を目的とする関数以外では、 関数の中で標準入力や標準出力への入出力は行わない. [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限:2012年7月30日まで [5] その他の制限:
- 53 名前:片山博文MZボット ◆0lBZNi.Q7evd mailto:sage [2012/07/25(水) 15:07:43.36 ]
- #include <stdio.h>
typedef struct { double Re, Im; } MYCOMPLEX; MYCOMPLEX sum(MYCOMPLEX c1, MYCOMPLEX c2) { MYCOMPLEX c; c.Re = c1.Re + c2.Re; c.Im = c1.Im + c2.Im; return c; } MYCOMPLEX prod(MYCOMPLEX c1, MYCOMPLEX c2) { MYCOMPLEX c; c.Re = c1.Re * c2.Re - c1.Im * c2.Im; c.Im = c1.Re * c2.Im + c1.Im * c2.Re; return c; } int main(void) { MYCOMPLEX z1 = {1, -2}, z2 = {-3, 4}; MYCOMPLEX z3 = sum(z1, z2), z4 = prod(z1, z2); printf("z3 = (%f, %f)\n", z3.Re, z3.Im); printf("z4 = (%f, %f)\n", z4.Re, z4.Im); return 0; }
- 54 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 15:09:18.07 ]
- ああ構造体配列はポインタ配列なのか
intとはちがうのだよintとは、と覚えますね ありがとう
- 55 名前:50 mailto:sage [2012/07/25(水) 15:57:07.03 ]
- でも >>50 の例だと
struct addressSheet *test; test = ary[0];にするとエラーで test = &ary[0];なら当然通る 構造体配列はポインタ配列だけどポインタ配列じゃない振りをする、偽装ポインタ配列か
- 56 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 18:15:21.76 ]
- >>54 >>55
codepad.org/ZkghZJHk 上記のとおり struct addressSheet *test; で swap を書こうとしてもうまくいかない。 構造体の配列の配列であっても何の配列であっても、swap() にわたるのは配列の先頭。 今回の例では構造体の配列について、その配列の先頭のアドレスが swap() にわたっただけ。 構造体の配列はポインタ配列ではない。構造体のそのものが連続して並んでいる実体の配列だと思う。 ポインタ配列、というのが私にはよくわからないんではあるけれども。
- 57 名前:デフォルトの名無しさん [2012/07/25(水) 18:43:37.44 ]
- [1] 授業単元:C言語プログラム演習
[2] 問題文:ストリップパッキング問題を順列対での解表現で求めるプログラムを作成しなさい。下記参考文献にある(自作の問題例)を元に作成すること。 ci.nii.ac.jp/els/110003206451.pdf?id=ART0003634732&type=pdf&lang=jp&host=cinii&order_no=&ppv_type=0&lang_sw=&no=1343208829&cp=次のプログラムのポイントを説明せよ。 [3] 環境 [3.1] OS:Windows [3.3] 言語: C [4] 期限: 2012年8月3日まで [5] その他の制限:フローチャートすらどう設定したらいいか困っているのでよろしくお願いします><
- 58 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 18:53:17.41 ]
- >>57
表示できないよー ELSC0501: 本文PDFが表示できません。 以下の方法をお試しください。 1. CiNiiの画面から、直接現在の表示になった場合、ご使用のブラウザで Cookie(クッキー)を拒否している可能性があります。 Cookieを許可するよう、ブラウザの設定変更を行ってください。 2. このページに直接アクセスした場合や、長時間CiNiiの画面を開いたままにしていた場合、 セッションが切れている可能性があります。 以下のボタンから、論文情報のページに戻って再度アクセスしてください。 ただし、表紙や目次の本文を表示しようとしていた場合などは、CiNiiのトップページに戻ります。
- 59 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 18:58:48.58 ]
- 有料の本文を表示しようとしています。 ユーザIDをお持ちの方はログインしてください。
- 60 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 19:00:38.01 ]
- そこのCiNii、
大学生で学内ならおおよそ有料会員、 それ以外の一般ピーポーにゃあ見せネーy、 みたいな話もある
- 61 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 19:12:32.14 ]
- >>54
ttp://ideone.com/cM4zV intの配列だろうが構造体の配列だろうが同じ事よ
- 62 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 19:41:47.76 ]
- >>33
>>43 >>44 これでは片手落の気もしますが。 ideone.com/GEqCS 桁落ちの可能性があるのは 1. -b-sqrt(xxx) の部分と、sqrtの中の 2. b*b - 4*a*c だと思いますが、 2の桁落ちに関しては、 bに対してsqrt(xxx)は十分に小さい値となるはずなので、 -b-sqrt(xxx)の有効桁数はbのものが守られる。 よって1のケースだけ考えればいいという発想ですけど、 あげたソースで著しい桁落ちが発生するケース有りますかね?
- 63 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 20:07:13.25 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク): s2.muryo-de.mydns.jp/~c_cpp_homework/cgi-bin/joyful/img/371.txt 上のコードは、配列a[4][3]の各行の合計を求め、配列b[4]に保存し、求めた値を出力するプログラムです。 これを改造して次のプログラムを作成せよ。 ・配列a[4][3]の各行において、その合計の昇順に行を並び替え、配列 c[4][3]に保存し、出力しなさい。 ただし、各行の合計の値が等しいものがあった場合、行番号が小さいものを小さい順番にする。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ: gcc [3.3] 言語: C [4] 期限: 2012年7月29日まで [5] その他の制限: 上のURLで、配列aの一行目の数が {3,5,3} となってますが、{3,5,8}と間違えました。 宜しくお願いします。
- 64 名前: ◆VD2btbRbPs [2012/07/25(水) 21:50:36.06 ]
- 二分探索木の高さを調べる実験とその結果
#include<stdio.h> #include<stdlib.h> #include<malloc.h> #define NODE_NUM 10 #define RAND_SEED 0x1031000 必要な関数・構造体の定義をここに書く int main(void){ struct BST_Node *T_root; int i; T_root=(struct BST_Node*)malloc(sizeof(struct BST_Node)); T_root->left=T_root->right=NULL; T_root->value=0; srand(RAND_SEED); for(i=0;i<NODE_NUM; i++){ insert_v(T_root,rand()/(double)RAND_MAX*NODE_NUM*10); } 木の高さや木の形をここで表示 } 必要な関数・構造体の定義と木の高さと木の形を表示するプログラムを書いてくださいますようお願い申し上げます [3] 環境 [3.1] OS:Windows7 [3.2] bcpad C++ [3.3] 言語:C [4] 期限: 2012年7月29日まで
- 65 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 22:48:04.58 ]
- どなたか>>8をお願いします。
- 66 名前: ◆QZaw55cn4c mailto:sage [2012/07/25(水) 22:57:54.41 ]
- >>64
toro.2ch.net/test/read.cgi/tech/1313183984/289
- 67 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:46:38.50 ]
- >>8
ideone.com/doCc1
- 68 名前:デフォルトの名無しさん mailto:sage [2012/07/25(水) 23:54:23.53 ]
- どなたか>>12をお願いします。
- 69 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 00:23:18.14 ]
- >>12
カプ
- 70 名前:12 mailto:sage [2012/07/26(木) 00:30:17.60 ]
- >>69
カプというのはどういうことでしょうか?
- 71 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 05:18:04.52 ]
- [1] 授業単元:C言語
[2] 問題文(含コード&リンク): ideone.com/TO8Kg 問題です。 ideone.com/ZvUuR 課題を提出したら関数の定義 をしろといわれました。 ideone.com/Nd5ir 自分なりにやったのですが ここからができませんでしたので よろしくお願いします。 [3] 環境 [3.1] OS:linux [3.2] gcc [3.3] 言語:C言語 [4] 期限: 2012年7月27日 [5] その他の制限:
- 72 名前:デフォルトの名無しさん [2012/07/26(木) 06:49:46.73 ]
- [1] 授業単元:C言語演習U
[2] 問題文: 以下のデータは、3つの商品A、B、Cのある月の売り上げ個数と単価である。 以下のリストの< >の処理をコメントに従って埋め、商品A、B、Cの売り上げをそれぞれ計算するプログラムを作成せよ。 <売り上げデータ> 商品 個数 単価[円] 商品A 32 500 商品B 27 700 商品C 12 1200 <リスト> ime.nu/codepad.org/2VWOcUPS [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:7月30日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列を学習しています。 よろしくお願いいたします。
- 73 名前:デフォルトの名無しさん [2012/07/26(木) 06:51:02.15 ]
- [1] 授業単元:C言語演習U
[2] 問題文: 以下の実験データは、あるコンピュータAのメッセージ発生時刻と、そのメッセージが宛先コンピュータBに到着した時刻である。 以下のリストの< >の処理をコメントに従って埋め、メッセージ毎の転送時間を出力するプログラムを作成せよ。 但し、メッセージ転送時間は、メッセージ発生時刻との差である。 <実験データ> メッセージ番号 発生時刻[ミリ秒] 到着時刻[ミリ秒] 0 0 25 1 5 30 2 10 38 3 15 50 4 20 52 5 25 55 6 30 57 7 35 60 8 40 65 9 45 70 <リスト> ime.nu/codepad.org/PW5VddGM [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:7月30日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列を学習しています。 よろしくお願いいたします。
- 74 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 07:45:38.24 ]
- >>71
ここのスレは「C/C++の宿題片付けます」なんで、コードを書かないと言うのは良くないかもしれないけど。。。 C言語の問題というより、ロジックをどう組み立てるかの問題だと思います。 プログラムのなんて、ロジックを各言語に落としただけなんで。 ただ、ロジックを組む上で、特定の言語で出きる事、出来ない事があるのでまったく無関係という訳ではないけど。 んで、「関数にしろ」と先生に言われたのなら、闇雲にmainに書いてみるんじゃなく、どの部分を関数にしたら良いかを考えるとよいよ。 まぁ、ヒントの1-6の部分をそれぞれ、全部関数にしちゃうって手もあるよ。 そうすると void main(){ sturuct Data *pDate; strunct Data **arrayData; fp = file_open(.....); /* 1.ファイルのオープン */ pData = readData(fp); /* 3.データの読み込み */ calcBMI(pData); /* 4.BMIの算出 */ ..... sortBMI(arrayData); /* 5.BMIの大きい者順に並べ替える */ printData(arrayData); /* 6.画面表示 */ ..... } 引数、戻り値はまだ未定。 3.データ構造の用意 については、今、どのくらいの段階の勉強をしているのか分からないのでなんとも言えないのですが、ポインタとか領域確保(malloc)とかがイメージ出来て入れば、 初めにデータ数を知らなくてもかけないこともない。 ただ、今の段階で、そのレベルの勉強をしているのかが分からないので保留させて頂きます。 まぁ、ざっくりと骨組みらしきものは出来た。 こういう風に考えた物をもとにして、これは、こっちが良いんではないかと考える。 (だから、上のプログラム(の原型にとらわれる必要はない・どんどん、変化していけば良い。) なんか、考え方等、間違っていたら他の人も指摘・訂正をお願いいたします。
- 75 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 08:05:54.76 ]
- 大筋はいいんじゃない?
void main()とかわざわざ規格に沿わない書き方をサンプルに上げるのはどうかと思うけど
- 76 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 09:36:06.91 ]
- 未だに void main() 笑 とか時代遅れだろ
- 77 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 10:27:41.39 ]
- >>72
ttp://codepad.org/hnwAbnWF 中級者むけ
- 78 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 10:34:54.77 ]
- >中級者むけ
どこが? むしろ初学者向けだろう
- 79 名前:デフォルトの名無しさん [2012/07/26(木) 10:48:28.97 ]
- >>58
申し訳ありませんでした ci.nii.ac.jp/naid/110003206451 ↑の右側にあるプレビューで見れると思います。 よろしくお願いします。
- 80 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 10:55:54.80 ]
- みれまsyyy−−−−−−−−ん!!!!!!!!!
- 81 名前:50 mailto:sage [2012/07/26(木) 10:55:57.36 ]
- >>56
gccにアセンブラ出力させてtmp = ary[i];のところを見てみたら movl $7, %eax movl %edx, %edi movl %ebx, %esi movl %eax, %ecx rep movsl となっていました。ecxの7は7*4=28バイトで丁度構造体配列のひとつ分なので構造体を丸ごと入れ替えてます。 なので、構造体配列はポインタ(アドレス)の配列を使わずにそのままメンバをメモリ上に並べています。 構造体はポインタ配列などと書いてすみませんでした。
- 82 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 11:59:19.50 ]
- >>79
有料の本文を表示しようとしています。 ユーザIDをお持ちの方はログインしてください。 Displaying Paid Full Text requires users to be logged in.
- 83 名前:デフォルトの名無しさん [2012/07/26(木) 12:00:12.98 ]
- [1] 授業単元:C言語
[2] 問題文:fan.naist.jp/~yoneda/prog2010/kadai3/ [3] OS:Windows コンパイラ:gcc 言語: C [4] 期限:8月9日 [5] その他の制限:上記<課題>のオプション1の場合のソースコードを作成することが宿題です。リンク内に書かれている実行環境や提出期限は関係ありません。 プログラム入出力仕様は、 入力 : 矩形集合ファイル 出力 : 各矩形の配置位置 です。 よろしくお願いします。
- 84 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 13:11:47.97 ]
- >>73
codepad.org/DbAPWfUk こんなベタベタなんでいいんかな
- 85 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 14:36:03.75 ]
- >>63
codepad.org/EzNjhfqf
- 86 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 14:59:17.55 ]
- たびたびすいません。
どなたか>>12をお願いします。 どうかお助けを…
- 87 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 15:18:27.02 ]
- >>86
参考ソースみて心が折れたぞ
- 88 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 15:29:36.73 ]
- >>87
レスありがとうございます。 もしかするとideone.com/NDH7Eを参考にした方がよいかもしれません。
- 89 名前:71 mailto:sage [2012/07/26(木) 16:11:40.56 ]
- >>74さん
レスありがとうございます。 やってみてもわからないので… プログラムを作っていただけるとありがたいのですが… よろしくお願いします。
- 90 名前:デフォルトの名無しさん [2012/07/26(木) 17:40:13.34 ]
- 助けてください!
C言語の課題です。 「自分のフルネームをアルファベット小文字で入力し、そのアスキーコードを、10進数で求めて平均、分散、標準偏差を表示」 を表すソースを教えてください。
- 91 名前: ◆QZaw55cn4c mailto:sage [2012/07/26(木) 18:55:27.07 ]
- >>81
いえいえ。別にあやまることじゃないと思いますよ。じっくり考えるのもいいことだと思います。
- 92 名前:roza ◆i6RgINNEzw [2012/07/26(木) 20:05:00.97 ]
- 【質問テンプレ】
[1] 授業単元:C言語 [2] 問題文(含コード&リンク): s2.muryo-de.mydns.jp/~c_cpp_homework/cgi-bin/joyful/img/374.txt [3] 環境 [3.1] OS:Windows XP SP3 [3.2] コンパイラ名とバージョン:Visual Studio 2010 [3.3] 言語:C++ (C/C++/どちらでも可 のいずれか) [4] 期限: 2012年07月26日23:59 [5] その他の制限:アップロードしてあるテキストに書いてあります 期限が短くて申し訳ありませんが、よろしくお願いします。 Data.txtはアップローダーの連投制限が解除され次第アップします。
- 93 名前:roza ◆i6RgINNEzw [2012/07/26(木) 20:06:58.85 ]
- >>92
Data.txtの中身です s2.muryo-de.mydns.jp/~c_cpp_homework/cgi-bin/joyful/img/375.txt
- 94 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 20:35:34.79 ]
- >>92
鯖がてんぽってて見れない ideoneかcodepadに上げなおして
- 95 名前:roza ◆i6RgINNEzw mailto:sage [2012/07/26(木) 20:40:55.80 ]
- >>94
>>92 あげなおしました codepad.org/RrBRru9f
- 96 名前:roza ◆i6RgINNEzw mailto:sage [2012/07/26(木) 20:42:14.69 ]
- こっちはData.txtの中身です
codepad.org/qQW36PPE
- 97 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:08:59.82 ]
- バkじゃねーのコイツ
なんでbrタグが残ったママなんだよ よみにけーだろ もう一度上げ直せよアホ
- 98 名前:デフォルトの名無しさん [2012/07/26(木) 21:17:51.56 ]
- [1] 授業単元:C言語演習U
[2] 問題文: 以下のデータは3つの商品A、B、Cのある月の売り上げ個数と単価である。 以下のリストの< >の処理をコメントに従って埋め、商品A、B、Cの売り上げをそれぞれ計算するプログラムを作成せよ。 <売り上げデータ> 商品 個数 単価[円] 商品A 32 500 商品B 27 700 商品C 12 1200 <リスト> codepad.org/PkkNn9kV [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:7月31日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列、構造体を学習しています。 よろしくお願いいたします。
- 99 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:19:53.89 ]
- >>98
おいアホ おまえは>>72とは別人か? それとも現行スレを読めないような 何か特殊で特別な環境で2ch見てんの?
- 100 名前:デフォルトの名無しさん [2012/07/26(木) 21:24:00.35 ]
- >>84
ありがとうございます。 [1] 授業単元:C言語演習U [2] 問題文: codepad.org/DbAPWfUk 上記のプログラムを修正して、メッセージ転送時間の平均値を計算するaverage関数を追加し、main関数側で平均メッセージ転送時間も出力するようにせよ。 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:7月30日 [5] その他の制限 average関数の呼び出し方法はaverage(data,&ave);とする。 但し、aveは平均メッセージ転送時間を入れる実数型変数となる。(returnで平均メッセージ遅延を戻してもよい) 分岐、繰り返し、関数、ポインタ、配列を学習しています。 よろしくお願いいたします。
- 101 名前:98 [2012/07/26(木) 21:29:09.94 ]
- >>99
>>77のプログラムだとダメだと言われましたので、もう一度お願いします。
- 102 名前:デフォルトの名無しさん mailto:sage [2012/07/26(木) 21:40:54.34 ]
- なんでそれを先に描かんの?
マジでアホなの? お前が同一人物で先のがダメだって言われたって そこまでエスパーせにゃあアカンのかよwwww まぁ実を言えば 中級者向けの他に初心者向けのも作ってあるwwwwwwwwwww ちょっとまってろ 後ついでに どこがダメなのかも教えろ
- 103 名前:デフォルトの名無しさん [2012/07/26(木) 21:41:59.63 ]
- [1] 授業単元:C言語U
[2] 問題文: 2つの整数aとb(但しa<b)を入力すると、aからbまでの和と積を求めるプログラムを作成せよ。 但し、#if〜#endif文を用いて、「#define on 1」と「#define on 0」の制御により、最終的な結果だけを出力する場合と 和を入れる変数waと積を入れる変数sekiの計算途中の値も出力する場合の2通りで実行できるようにせよ。 そして両方の場合について実行せよ。 <入力例> wa=3 seki=6 <結果のみ出力する場合> wa=18 seki=360 <途中経過も出力する場合> wa=3 seki=3 wa=7 seki=12 wa=12 seki=60 wa=18 seki=360 (最後の結果が重複して表示されてもよい。) [3] 環境 [3.1] OS:Linux [3.3] 言語:C言語 [4] 期限:7月31日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列を学習しています。 よろしくお願いいたします。
- 104 名前:99 mailto:sage [2012/07/26(木) 21:46:16.44 ]
- >>102
while( ( ret = fscanf( fp, "%s%d%d", s, &n1, &n2 ) ) != EOF ){ このやり方は教えていないのでダメと言われました。 scanfでするようにしなさいと言われました。
- 105 名前:デフォルトの名無しさん [2012/07/26(木) 21:52:44.17 ]
- [1] 授業単元:C言語U
[2] 問題文: 以下のマクロを用いて、2つの整数aとbをキーボード入力すると、aとbの和、差、積、商を計算して出力するプログラムを作成せよ。 #define READ(X) {printf(#X"="); scanf("%d",&X);} #define WRITE(X) printf(#X"=%d\n",X); [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:7月31日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列を学習しています。 よろしくお願いいたします。
- 106 名前:デフォルトの名無しさん [2012/07/26(木) 22:14:25.78 ]
- [1] 授業単元:C言語プログラムU
[2] 問題文: codepad.org/dZkqNN3s 上記のプログラムを参考にして、以下のファイルidata.txtから8文字を読み出して画面出力するプログラムを作成せよ。 但し、以下の内容のデータファイルidata.txtを、emacsであらかじめ作成しておくこと。 <出力例> FILE READ OK READ DATA->Aiba 160 [idata.txt] Aiba 160 59.3 Kurata 162 51.6 Masaki 182 76.5 Nakashima 168 65.2 Tanaka 170 60.7 [3] 環境 [3.1] OS:Linux [3.3] 言語:C言語 [4] 期限:7月31日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列、構造体を学習しています。 よろしくお願いいたします。
- 107 名前:デフォルトの名無しさん [2012/07/26(木) 22:20:20.24 ]
- [1] 授業単元:C言語プログラムU
[2] 問題文: 以下のファイルsdata.txtに入っている商品名、単価、売り上げ個数を1件ずつ読み込んで商品別の売上高を求め、 それらの結果を画面表示するとともに、ファイルodata2.txtに書き込むプログラムを作成せよ。 但し、以下の内容のデータファイルsdata.txtをemacsであらかじめ作成しておくこと。 [sdata.txtの内容](商品名、単価、売り上げ個数) coffee 250 75 tea 270 52 milk 300 22 juice 350 54 coke 300 36 [3] 環境 [3.1] OS:Linux [3.3] 言語: C言語 [4] 期限:7月31日 [5] その他の制限 分岐、繰り返し、関数、ポインタ、配列、構造体を学習しています。 よろしくお願いいたします。
- 108 名前:roze ◆i6RgINNEzw mailto:sage [2012/07/26(木) 22:47:24.82 ]
- >>97
すいませんでした codepad.org/rB1ziaEc ここに書き直したのでお願いします
|

|