- 1 名前:デフォルトの名無しさん [2008/10/30(木) 07:49:39 BE:113605834-PLT(24065)]
- あなたが解けない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++の宿題を片付けます 116代目 pc11.2ch.net/test/read.cgi/tech/1222813731/
- 820 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:44:14 ]
- [1] 授業単元: プログラミング
[2] 問題文: 入力したISBNコードが正しいか判断するプログラムを 作成せよ。(配列とfor文を使うこと) [3] 環境 [3.1] OS: Windows [3.2] gcc [3.3] 言語:C言語 [4] 期限: 11月15日12時まで [5] その他の制限: 特になし
- 821 名前:820 mailto:sage [2008/11/15(土) 02:51:40 ]
- 回答まだですか?
- 822 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:52:23 ]
- >>820
旧式と新式どっちだよ
- 823 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:54:37 ]
- ttp://ja.wikipedia.org/wiki/ISBN
ハイフンやその間の数字の数、チェックデジットも?
- 824 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:56:26 ]
- >>821
いや俺が280だから。 >>822 新式です。
- 825 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:58:17 ]
- >>823
ハイフンを打ち込まず 4-793-2792-8 なら 479327928とそのまま打ち込む感じでお願いします。
- 826 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:28:25 ]
- >>820ですが
自己解決しました。
- 827 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:30:00 ]
- してません
勝手に人の振りしないでください
- 828 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:46:50 ]
- すみません。ISDNの間違いでした。
- 829 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:47:03 ]
- なにをもって「正しい」と判断するんだ?
単にチェックデジットがあってればいいだけ?
- 830 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:57:00 ]
- >>826 >>821
通報して良い?本人じゃなくても、第三者にも偽者ってバレてるんだけど?
- 831 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:59:11 ]
- 正しいというのは、チェックデジットのこともあるが、それは末尾だし
末尾を算出するのは、その手前の数によるし・・・ 問題は、ハイフンごとに分けられているそれぞれの数値も 範囲が決められているとか、この世に存在するものかどうか 何かデータベースを参照して正しいかを調べるのか?それが問題だ。 考えすぎかもしれんが。
- 832 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 05:17:25 ]
- 最初の3行は978,979の数字3文字,次の1文字は国番号で決まっているから,残りは
4文字(出版者記号),4文字(書名記号),チェックディジットになるんだよな? ちょっとやってみるわ.
- 833 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 07:20:34 ]
- テンプレに書いてあるのにトリップ使わないのが悪い
- 834 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:37:10 ]
- >>833
やりかたがよくわかりませんし、 今事情があって他人のPCを使っています。 情報漏洩したら面倒なのでやりたくないです。
- 835 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:47:32 ]
- 頭悪すぎる
- 836 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:24:01 ]
- これがゆとりか。
- 837 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:25:28 ]
- それマジでいってんのか?
- 838 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:54:12 ]
- >>820
先頭3桁のチェックと末尾のチェックデジットのチェックのみ。 書式は >>825 のような13桁の数字のみを受け付ける。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8034.txt
- 839 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:55:06 ]
- >>780
大変助かりました。 本当に有難う御座いました。
- 840 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:13:15 ]
- [1] 授業単元: プログラミング実習2
[2] 問題文(含コード&リンク): ・配列を利用し,2008年の指定された月の1日が何曜日か表示するプログラムを作成せよ -日=0,月=1,火=2,...,土=6と数値化して計算 ・その数値によって何曜日かを表示する -2008年1月1日が火曜日(=2)であることを利用する -求める月の前の月前までの日数を加算し7で割った余りを考える -各月の日数を以下のような形で配列に入れておく days[ ]={0,31,29,...,31} [3] 環境 Visual C++ [3.1] OS:Windows [3.2] コンパイラ名とバージョン: C++コンパイラ,リンカ [3.3] 言語: C言語 [4] 期限: 2008年11月17日(月)までお願いします。 [5] その他の制限: main関数,文末記号,エスケープシーケンス,printf関数 逐次処理(順次処理)、条件分岐(選択処理)if,if-else,switch、 繰り返し(反復処理)while,do-while,for、演算子の複合演算子(+=,-=,*=,/=,%=) インクリメント(++)デクリメント(--)、scanf関数、アドレス演算子(&)、キャスト演算子 配列の初期化は習いました。 お願いします。
- 841 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:24:18 ]
- >>840
#include <stdio.h> int main() { int y, m, q, h; char *s[] = {"土", "日", "月", "火", "水", "木", "金"}; puts("西暦の年、月、日をスペース区切りで入れてください"); scanf("%d %d %d", &y, &m, &q); h = (((q + ((m + 1)*26/10) + (y % 100) + ((y % 100)/4) + ((y / 100)/4) - 2*(y / 100)) % 7) + 7 ) % 7; printf("%d年%d月%d日は%s曜日です\n", y, m, q, s[h]); return 0; }
- 842 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 12:28:16 ]
- ごめん全然問題文よんでなかった
- 843 名前:デフォルトの名無しさん [2008/11/15(土) 13:12:50 ]
- [1] 授業単元: アルゴリズムデータ構造U
[2] 問題文(含コード&リンク): 複素数a,bを標準入力から入力し、それぞれの絶対値を求め、2つの複素数の和、差、積、商を求め 標準出力に出力するプログラムを作りたい。これらを求める関数として、複素数の絶対値を求める関数 および和、差、積、商を求める関数が double cabs(struct mycomplex) struct mycomplex wa(struct mycomplex,struct mycomplex) struct mycomplex sa(struct mycomplex,struct mycomplex) struct mycomplex seki(struct mycomplex,struct mycomplex) struct mycomplex shou(struct mycomplex,struct mycomplex) として作ることにした。これらの絶対値、和、差、積と商を求める関数を解答せよ なおこの構造体は予めCの処理系には用意されているが、それを利用せず独立に考えよ。 [3] 環境 [3.1] OS: Windows [3.2] [3.3] 言語: C [4] 期限: 11月16日まで [5] その他の制限:構造体の問題です 問題文に沿ってお願いします。
- 844 名前:デフォルトの名無しさん [2008/11/15(土) 13:18:37 ]
- 843の問題です
#include<stdio.h> #include<math.h> struct mycomplex { double re; double im; }; int main() { struct mycomplex a,b; struct mycomplex wa(struct mycomplex,struct mycomplex); struct mycomplex sa(struct mycomplex,struct mycomplex); struct mycomplex seki(struct mycomplex,struct mycomplex); struct mycomplex shou(struct mycomplex,struct mycomplex); double cabs(struct mycomplex); struct mycomplex cinput(void); void cprint(struct mycomplex); a=cinput(); b=cinput(); cprint(wa(a,b)); cprint(sa(a,b)); cprint(seki(a,b)); cprint(shou(a,b)); printf("絶対値 cabs(a)=%f\n",carbs(a)); printf("絶対値 cabs(b)=%f\n",cabs(b));}
- 845 名前:デフォルトの名無しさん [2008/11/15(土) 13:20:11 ]
- 844の問題の続きです
struct mycomplex cinput(void) { struct mycomplex z; scanf("%f %f",&z.re,&z.im); return z; } void cprint(struct mycomplex z) { printf("複素数 = %f + i*%f\n",z.re,z.im); } 誰かお願いします
- 846 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:11:56 ]
- >>843
struct mycomplex wa(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { a.re+b.re, a.im+b.im }; return z; } struct mycomplex sa(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { a.re-b.re, a.im-b.im }; return z; } struct mycomplex seki(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { a.re*b.re - a.im*b.im, a.re*b.im + a.im*b.re }; return z; } struct mycomplex shou(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { (a.re*b.re + a.im*b.im) / (b.re*b.re + b.im*b.im), (a.im*b.re - a.re*b.im) / (b.re*b.re + b.im*b.im) }; return z; } double cabs(struct mycomplex a) { return hypot(a.re, a.im); }
- 847 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 17:18:06 ]
- 全然わかりません。よろしくお願いします。
[1] 授業単元:応用プログラミング論 [2] 問題文(含コード&リンク): ある任意の点X(a,b)、Y(c,d)を乱数で求め、 X,Yからなる線分に1辺が平行であり、四角形の中心とその線分との距離が30pixelになるような四角形を描写せよ。 四角形は20×40のものを使用。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Visual C++ 2008 [3.3] 言語:C++ [4] 期限: 2008年11月18日13時まで [5] その他の制限:とくになし。
- 848 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 17:43:41 ]
- 四角形が20*40なのに中心から線分までの距離が30かあ。
- 849 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 17:49:46 ]
- いいんじゃないか?仮に20の方が平行な辺だとしてもね。
- 850 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 18:03:00 ]
- あ。読み間違えてた。
線分XYを一辺とするのかと思いこんでた。 X ┌─┐│ └─┘│ Y こういうことね。
- 851 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 18:06:09 ]
- ┌─┤
└─┤ じゃないんだねww?
- 852 名前:デフォルトの名無しさん [2008/11/15(土) 18:45:07 ]
- 846のかた
ありがとうございます
- 853 名前: ◆hXvyVozAPo mailto:sage [2008/11/15(土) 19:11:10 ]
- [1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク): 以下のようなプログラムを作成しなさい. int型変数xを宣言し標準入力で適当な数値を代入する。 その変数xのアドレスを引数として、アドレスと値を表示する関数を作成せよ。 実行例 ./a ? 5 変数xのアドレスは 0x00 です 変数xの値は 5 です [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名 Cygwin [3.3] 言語:C [4] 期限: 11月16日 17時まで [5] その他の制限: 授業はまだまだ初歩レベルみたいです。
- 854 名前:デフォルトの名無しさん [2008/11/15(土) 19:24:18 ]
- #include<stdio.h>
#include<math.h> struct mycomplex { double re; double im; }; int main() { struct mycomplex a,b; struct mycomplex wa(struct mycomplex,struct mycomplex); struct mycomplex sa(struct mycomplex,struct mycomplex); struct mycomplex seki(struct mycomplex,struct mycomplex); struct mycomplex shou(struct mycomplex,struct mycomplex); double cabs(struct mycomplex); struct mycomplex cinput(void); void cprint(struct mycomplex); a=cinput(); b=cinput(); cprint(wa(a,b)); cprint(sa(a,b)); cprint(seki(a,b)); cprint(shou(a,b)); printf("絶対値 cabs(a)=%f\n",carbs(a)); printf("絶対値 cabs(b)=%f\n",cabs(b)); } struct mycomplex cinput(void) { struct mycomplex z; scanf("%f %f",&z.re,&z.im); return z;
- 855 名前:デフォルトの名無しさん [2008/11/15(土) 19:29:32 ]
- }
struct mycomplex cinput(void) { struct mycomplex z; scanf("%f %f",&z.re,&z.im); return z; } void cprint(struct mycomplex z) { printf("複素数 = %f + i*%f\n",z.re,z.im); } struct mycomplex wa(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { a.re+b.re, a.im+b.im }; return z; } struct mycomplex sa(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { a.re-b.re, a.im-b.im }; return z; } struct mycomplex seki(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { a.re*b.re - a.im*b.im, a.re*b.im + a.im*b.re }; return z; } struct mycomplex shou(struct mycomplex a, struct mycomplex b) { struct mycomplex z = { (a.re*b.re + a.im*b.im) / (b.re*b.re + b.im*b.im), (a.im*b.re - a.re*b.im) / (b.re*b.re + b.im*b.im) }; return z; } double cabs(struct mycomplex a) { return hypot(a.re, a.im); } すいません、動かないんで何処が違うか教えてください 854の続きです
- 856 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:32:14 ]
- >>853
#include<stdio.h> void pp(int *x) { printf("変数xのアドレスは 0x%p です\n", x); printf("変数xの値は %d です\n", *x); } int main(void) { int x; fputs("? ", stdout); scanf("%d", &x); pp(&x); return 0; }
- 857 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:35:21 ]
- >>855
見づらいし インデントしなおすのもめんどくさいから 素直にろだにあげろカス
- 858 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:37:24 ]
- >>855
carbs → acabs
- 859 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:49:51 ]
- >>854
関数宣言を main の外へ出せ
- 860 名前:デフォルトの名無しさん [2008/11/15(土) 20:07:38 ]
- 859の方
わからないので、8036でアップいましたので修正お願いします ほかの方も教えてくれるとありがたいです
- 861 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:13:17 ]
- C++です。
二つの整数値を読み込んで、小さい方の数以上で大きい方の数以下の整数を全て加えた値を表示するプログラムを作りたいんです 整数1は37 整数2は28 28〜37までの全整数の和は325 for文は使わずにお願いします。 よろしくお願いしますm(_ _)m
- 862 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:19:13 ]
- >>860
関数宣言を main 関数の外へ scanf のフォーマットが違った。 %f -> %lf main 関数の最後に return 0; を追加 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8037.txt
- 863 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:26:58 ]
- >>859
別に関数宣言は問題ではないと思うが 標準ライブラリのcabs()と被るのでacabs()に名前変更 main()には、return 0;でもつけてね cinput()内のscanf()は、%fではなくて%lfにする shou()内の(b.re * b.re + b.im * b.im) != 0 を保証すべき acabs()でhypot()呼んでいるので、必要に応じてリンクする
|

|