1 名前:デフォルトの名無しさん [2008/12/31(水) 08:02:03 BE:378684285-PLT(43140)] あなたが解けない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++の宿題を片付けます 120代目 pc11.2ch.net/test/read.cgi/tech/1229424329/
596 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 20:53:54 ] >>594 勉強し始めってのもあり知識不足という訳ですが、引き分けのときのプログラムがさっぱりで…… 一応、授業内容は、とにかくこういうゲームをプログラミングしろってやつなんですよ だから、自分はn枚分の整数をユーザが標準入力して、その上で先手が勝つルールを使って先手が勝てばいいのかと思ったのですが…… 突っ返されたらその時、なんとか考えますので、作ってくれませんでしょうか……
597 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:09:37 ] >>594 オマエが何を理解してしまったのか心配だよ・・・
598 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:30:29 ] >>585 って本当に授業単元:Cプログラミングなのか? もしそうなら、世の中にはレベルの高い大学もあるもんだなあと感心。
599 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:33:20 ] そうか? コンパイラ名とバージョンにgccしか書いてないし質問主のレベルは低いと思う
600 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 21:39:28 ] 質問主のレベルが低くて学校のレベルが高いからここに来てるんじゃなかろうか
601 名前:589 [2009/01/10(土) 21:59:58 ] すいません。今から先生にメールしてこの問題の不明な点を聞いてみるので、できれば変な所を教えてくれませんでしょうか
602 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:15:50 ] 別に禁煙宣言しなくていいけど、>>589 は実際にカードを作ってこのゲームを行うことができるの?
603 名前: ◆DMlEnlGjq. [2009/01/10(土) 22:25:01 ] [1] 授業単元:アルゴリズムとデータ構造1 [2] 問題文(含コード&リンク): ○プログラムを改良せよ。また、改良した部分をしるせ。 ・Dコマンドで削除する時、本当に削除してよいか確認できるようにせよ。 ・Iコマンドで学籍番号がちょうど4桁であることをチェックできるようにせよ。 ・Iコマンドで改行だけの氏名や学籍番号になってしまう。改行だけの場合、エラーメッセージをだせ。 ・Iコマンドで既に存在する学籍番号と同じ番号を入力すると二重に登録されてしまう。 二重登録されないように、エラーメッセージをだせ。 ・Iコマンドを投入した後に気が変わってコマンド入力に戻ろうとしても、何か挿入しなければならない。 コマンド入力に戻れるようにせよ。 ・このプログラムの構造はだらだらとわかりにくい。各コマンドに対応する関数を作り、わかりやすい形にせよ。 ・「コマンド?[I(挿入),D(削除),P(表示),X(終了),W(書込み),R(読出し),X(終了)]」と毎回出るのは煩わしい。 「コマンド?」だけにして、H(ヘルプ)コマンドを投入すると、各コマンドの説明が表示されるようにしなさい。 ・eメールアドレスと担当教員名のデータも格納できるようにせよ。 ・P(表示)コマンドで、表示範囲を指定できるようにせよ。例えば、前後の学籍番号を指定すると、その範囲だけが表示されるようにせよ。 [3] 環境 [3.1] OS: Windows XP [3.3] 言語: C [4] 期限: [2009年1月22日00:00まで] [5] その他の制限:特になし よろしくお願いします。
604 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:27:02 ] >>603 また桁外れのマヌケが到着したが、 ここでは珍しくも無い・・・
605 名前:デフォルトの名無しさん [2009/01/10(土) 22:28:22 ] >>602 一応できたつもり…です
606 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:29:51 ] >>603-604 w
607 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:39:15 ] >>605 そ、そうか。 > nが偶数のとき先手も後手もn/2枚を取る。nが奇数のとき先手も後手も(n−1)/2づつ取り最後に1枚が残る。 これはどうすればいいの? その後の例では一枚ずつ取ってるように見えて。
608 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:39:43 ] ああ!ごめんよみまちがえてた>< はあく。
609 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:40:41 ] >>589 "コンピュータプラクティス"でググった結果からみたところ、 東洋大学工学部情報工学科 コンピュータ・プラクティスIIIのカード取りゲームの課題か。(・∀・)ニヤニヤ
610 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:44:30 ] nが奇数の時って先手必勝なのだろうか
611 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:44:42 ] 必勝じゃない
612 名前:デフォルトの名無しさん [2009/01/10(土) 22:46:39 ] >>609 一年の時に仮面浪人して失敗して、プログラムさっぱりw 春休み辺りでまとめて勉強するつもりです
613 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:47:13 ] >>612 なんで冬休みにまとめて勉強しなかったの?
614 名前:# [2009/01/10(土) 22:47:53 ] [1] 授業単元:アルゴリズムとデータ構造1 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8600.txt [3] 環境 [3.1] OS: Windows XP [3.3] 言語: C [4] 期限: [2009年1月20日24:00まで] [5] その他の制限:特になし 宜しくお願いします。
615 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/10(土) 22:50:17 ] [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで]
616 名前:デフォルトの名無しさん mailto:sage [2009/01/10(土) 22:50:41 ] >>612 期末テストの勉強で忙しかったです
617 名前:nyao [2009/01/10(土) 23:33:21 ] すいません! >>373 をどなたかお願いします!
618 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:00:11 ] >>617 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8601.cpp 適当だけど。少しは他人に見やすいソースを書くように、自分でもがんばろうね。
619 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:13:54 ] >>589 さっぱりわからねーな #include <stdio.h> int main(){ int odd=0,even=0; while (1){ int dat; if(scanf("%d", &dat)==EOF)break; odd+=dat; scanf("%d", &dat); even+=dat; } //大きい方を選ぶ if(odd<even){ int temp =odd; odd=even; even=temp; } //点数 printf("先手:%d,後手:%d\n",odd,even); //勝敗 if(odd==even){ printf("引き分け\n"); }else{ printf("先手の勝ち\n"); } return 0; }
620 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:36:52 ] >>619 やばすぎw
621 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:48:09 ] >>610 右端(or左端)と、それと最後に残る数以外の偶数番目と奇数番目合計の差との大小によってきまる。
622 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:19:26 ] >>621 >>610 後手が例の戦略を取るかぎり、最後に何を残すかは先手が選べる(確かめてないけど多分どれでもOK) ということは後手は負けそうなら例の戦略をとらなくなるので、そうすると配列依存になる つまり、奇数の時は必勝戦略は存在しない こうなるのかな?意外に深いゲームなのかもしれん
623 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:22:07 ] 問題文の必勝戦略は通用しないだろうが先手必勝かどうかは別の話だな
624 名前:デフォルトの名無しさん [2009/01/11(日) 01:23:34 ] メイン関数以外で、コマンドラインの引数をとりたいです。 ARGV[1] ARGV[2]をmain以外でファイル名を受け取りたいということです。 グローバルでchar*を宣言して、mainでそのARGV[1]のアドレスを取っておけばよい? 問題はありますか?
625 名前:デフォルトの名無しさん [2009/01/11(日) 01:24:44 ] >>619 ありがとうございます!ですが、先生にメールで聞いたところ ユーザが全体のカードの枚数n(偶数になるように指定)とそのカードの書かれた数を被らないように繰り返し文使って標準入力させた上で、 奇数のカードの数の合計と偶数のカードの合計をだしてから、両方の合計を比べて、奇数が多いなら先手が奇数を引くように、というか先手という変数に奇数の数の合計を代入させる。 偶数なら先手が偶数のカードをひくようにして、偶数のカードの数の合計を先手という名の変数に代入する 最後に、先手=奇数か偶数の多い方の合計の点数 後手=少ないほうの で、先手の勝ち。と画面出力 とやれと来ました……。引き分けの方はルールに従って列の端と端を比べて、大きい方をとっていけば勝てるので、 端と端を比べて大きい方を先手に代入、小さいを後手に代入して同じように先手(変数)と後手(変数)に計算結果を代入して、 さっきと同じように画面に出力するみたいです で、多分自分なりにまとめると カードの枚数=n(必ず偶数) カードの数: 一枚目の数=ユーザがキーボードから入れた数値 二枚目の数=ユーザ(ry(どのカードの数とも必ず異なる数を入れさせるように指定) … n枚目の数=(ry 先手=奇数or偶数の多いほうの合計点数 後手=少ない方の数 判定 先手or後手の勝ち というように結果を出せばいいようです とりあえず先生のヒントを個人的にまとめてみたんですが……これでなんとかなりますか?
626 名前:デフォルトの名無しさん [2009/01/11(日) 01:30:48 ] あ、ちなみにn=奇数のときは自分で考えろだそうです なので、まず偶数のパターンからなんとかしてやってください。
627 名前:nyao mailto:sage [2009/01/11(日) 01:31:57 ] >>618 ありがとうございました!
628 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 01:35:17 ] >>615 二重振り子の図がどっかにあるだろ あと、わざわざエネルギー保存がどうこう書いてあるってことは、 シンプレックス積分でも使うのか? 速攻で落ちるvipロダを選ぶ理由も全く分からん
629 名前:デフォルトの名無しさん [2009/01/11(日) 02:42:15 ] >>557 ありがとうございました。
630 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 04:20:47 ] >>553 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8602.txt ┌─┬─┐ ├┬┴┬┤ │├─┤│ └┴─┴┘ ┌─┬┬┐ ├┬┤││ ││├┴┤ └┴┴─┘ ┌┬─┬┐ │├─┤│ ├┴┬┴┤ └─┴─┘ ┌┬┬─┐ ││├┬┤ ├┴┤││ └─┴┴┘
631 名前:学生 [2009/01/11(日) 10:03:46 ] 1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 単語を入力するとその単語にeがいくつ含まれているか数えてくれるプログラム。 また、単語の中に含まれるeを抜かしたものも表示せよ。 実行例 単語を入力せよ:december 単語にeが3こ含まれます。 単語のeを抜かすとd c mb r [3] 環境 [3.1] OS: Windows xp [3.2] VC 6.0 [3.3] include<stdio.h> main() { ではじめてください。 [4] 期限: 急ぎです。できれば今日の20時くらいまで [5] その他の制限:while if for などを習いました。 よろしくお願いします。
632 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:13:14 ] >>625 そもそも、扱う数値が自然数全体とかどうなのよ
633 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:13:39 ] char s[5000]; int n = 0, i = 0; fputs("単語を入力せよ:", stdout); scanf("%4999s", s); for (i = 0; s[i]; ++i) { if (s[i] == 'e') n++; } printf("単語にeが%dこ含まれます。\n", n); printf("単語のeを抜かすと"); for (i = 0; s[i]; ++i) { if (s[i] != 'e') putchar(s[i]); } putchar('\n'); }
634 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:18:23 ] 何か最近、変なのが紛れ込んでいるねw
635 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:21:13 ] >>634 鏡
636 名前:学生 [2009/01/11(日) 10:22:35 ] >>633 さん すばやい返信ありがとうございます。 しかし、fputs stdout putchar を習っていないためそれらを使わないでプログラムを作成することは可能でしょうか??
637 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:25:11 ] >>635 = 変なの と自分で認めたメガネピッツァ
638 名前:デフォルトの名無しさん [2009/01/11(日) 10:25:52 ] scanf("%4999s", s); きんもぉ〜〜 しかも、これ、結局(ry
639 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:34:37 ] scanfでも悪くないが、空白は無視されるんで、あしからず
640 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 10:48:28 ] >>631 お前が習ったものを全部挙げろ > [3.3] include<stdio.h> > main() >{ >ではじめてください。 これだとコンパイルできないけどそれでもいいのか?
641 名前:デフォルトの名無しさん [2009/01/11(日) 10:49:58 ] >>632 あれはどうも自然数全体じゃなくて、要は小数点と分数以外の数える数を使ってって意味みたいですよ。 例えば n=3なら 5,16,3 てな感じで。 だから、分数と小数以外で、かつ変な文字を使わない普通の数値を入れてってことみたいです。 だから変に考えないで、普通の整数だけ使えばいいかと
642 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:00:11 ] >>641 プログラムを書くには、扱う数の範囲は重要だよ
643 名前:デフォルトの名無しさん [2009/01/11(日) 11:38:22 ] #include <stdio.h> int main(void) { int i, amari; for (i = 100; i >= 1; i--){ amari = 100 % i; if( amari == 0) printf("100 は %d で割り切れる\n", i); i--; } return 0; } これだと100は1で割り切れるとでないのですが なぜですか?
644 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 11:40:03 ] >>643 i-- が二箇所にあるから
645 名前:デフォルトの名無しさん [2009/01/11(日) 11:40:58 ] >>644 あっ さんきゅ
646 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:10:25 ] >>642 範囲って言うと 異なる正の数とかそういう表現ならなんとかなったってことですか?
647 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:12:22 ] >>646 最大値、最小値の問題じゃないかな? 総和が long の範囲内で収まるかどうか
648 名前:デフォルトの名無しさん [2009/01/11(日) 12:36:40 ] [2] 逆ポーランド記法で(正しく)書かれた式が入力として与えられた時、その式を評価した値を出力する、実際に動作するプログラムをC言語で作成せよ。 そのうえで、この問題を解くためのアルゴリズムの説明も書け。 [3] [3.1] Windows [3.3] C [4] 1月13日正午 ※データ構造として必ずスタックを使って実現させてください よろしくお願いします。
649 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 12:40:53 ] >>647 そういわれると、確に1〜∞じゃ普通にきついですよね… 周りは適当に、一年の時に習う配列の問題みたいに好きな数をポンポン入れて出来たーなんて言ってたから、そんな感じに出来ると思ってたけど、こんなに難しかったのか……orz
650 名前:学生 [2009/01/11(日) 12:59:18 ] 1] 授業単元: Cプログラミング [2] 問題文(含コード&リンク): 単語を入力するとその単語にeがいくつ含まれているか数えてくれるプログラム。 また、単語の中に含まれるeを抜かしたものも表示せよ。 実行例 単語を入力せよ:december 単語にeが3こ含まれます。 単語のeを抜かすとd c mb r [3] 環境 [3.1] OS: Windows xp [3.2] VC 6.0 [3.3] #include<stdio.h> main() { ではじめてください。 [4] 期限: 急ぎです。できれば今日の20時くらいまで [5] その他の制限:while if for char int double sum * - + / ++ %= sqrt pow != && switch case などを習いました。 よろしくお願いします。
651 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:01:27 ] おいwwww
652 名前:デフォルトの名無しさん [2009/01/11(日) 13:02:46 ] #include <stdio.h> int main(void) { char str1[100], str2[100]; int i = 0; printf("文字列入力 "); scanf("%s", str1); do { str2[i] = str1[i]; } while(str1[i++] != '\0'); printf("str2 = %s", str2); return 0; } このプログラムのwhileの条件式って どうゆう意味の判定ですか?
653 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:04:58 ] >>652 文字列の終わりまでループする
654 名前:デフォルトの名無しさん [2009/01/11(日) 13:08:01 ] 鏡を見るとさ、ちょ〜〜〜イケメソな面が映るわけよ。 これ、誰なんだろうなぁ〜って長年、思っていたけど、よく考えたらそれ、 俺じゃ〜〜ん。道理で、女性からチラチラ見られたわけだ。 よく注目されて、あれ?俺なんか変なことしたかな?って思っていたけど、 なんだ、見とれていたのかw
655 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:23:18 ] >>650 表示の仕方は何も習ってないわけか 無理だな
656 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:24:07 ] 入力もできないじゃないか
657 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:25:38 ] 入力といっても、別にキーボードを打って文字を記入する以外に、 プログラムは何かデータを受け付ける手段はあるわけで。屁理屈すまそw
658 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:26:21 ] sumなんて予約語か関数あったっけ
659 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/11(日) 13:29:24 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_093082.png up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png zipで専用ロダにもあげておきます kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8603.zip [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで] >>628 >シンプレックス積分でも使うのか? よくわかりません… >速攻で落ちるvipロダを選ぶ理由も全く分からん 他に長持ちするロダを知らないので
660 名前:A mailto:sage [2009/01/11(日) 13:30:23 ] >>650 #include<stdio.h> main() // int main(int argc, char* argv[]) { int loop, count; char ch; char input[256], output[256]; printf("単語を入力せよ :"); scanf("%s", input); // strcpy(output, input); count=0; for(loop=0; ;loop++) { ch = input[loop]; output[loop] = ch; if (ch == NULL) { break; } if (ch == 'e') { output[loop] = ' '; count++; } } printf("単語のeを抜かすと:%s\n", output); printf("単語にeが%d個含まれます。\n", count); return 0; }
661 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:32:43 ] >>657 >>636 によると習ってないものは使っちゃいけないらしい。 さすがに>>650 に挙げられているものだけでデータ入出力は無理じゃね? #include <stdio.h> main() { char s[128]; int i, c = 0; printf("単語を入力せよ:"); scnaf("%s, s); for (i = 0; s[i] != '\0'; i++) if (s[i] == 'e') { s[i] = ' '; c++; } printf("単語にeが%dこ含まれます。\n", c); printf("単語のeを抜かすと%s\n", s); return0; }
662 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:36:50 ] >>661 つ コピペ つ リダイレクト つ 内部でファイルなどを指定する まぁ、それらも習っていなければそれまでだがw
663 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:39:36 ] >>662 コピペとかリダイレクトとか関係なくね?
664 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 13:41:29 ] >>662 それにしても>>650 を見る限りでは使っていい関数はsqrt()とpow()だけっぽいんだが・・・w >>661 がgdgdだったので直した #include <stdio.h> main() { char s[128]; int i, c = 0; printf("単語を入力せよ:"); scanf("%s", s); for (i = 0; s[i] != '\0'; i++) if (s[i] == 'e') { s[i] = ' '; c++; } printf("単語にeが%dこ含まれます。\n", c); printf("単語のeを抜かすと%s\n", s); return 0; }
665 名前:565 mailto:sage [2009/01/11(日) 13:44:47 ] >>575 ありがとうございます いろいろ書き方が悪くて申し訳ないです
666 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:16:01 ] [1] 授業単元:C [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8605.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [5] その他の制限 [5.1]配列を使う どなたかよろしくお願いします
667 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 15:29:57 ] [1] 授業単元: プログラミング言語V [2] 問題文(含コード&リンク): 次のプログラムで本来入れるべき処理は何か。指摘せよ。 char *pstr; pstr = malloc(100); sprintf(pstr,"123"); pstr=malloc(10); sprintf(pstr,"456"); free(pstr); [3] 環境 [3.1] OS: Windows xp [3.3] 言語: C [4] 期限: 1月15日 よろしくお願いいたします。
668 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:00:57 ] >>667 char *pstr; pstr = malloc(100); sprintf(pstr,"123"); free(pstr); /*ここにfree()*/ pstr=malloc(10); sprintf(pstr,"456"); free(pstr);
669 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:10:03 ] >>667 ひでえ問題だ。
670 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:11:08 ] >>667 char *pstr; goto skip_label pstr = malloc(100); sprintf(pstr,"123"); pstr=malloc(10); sprintf(pstr,"456"); free(pstr); skip_label:
671 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:11:41 ] セミコロン忘れたorz
672 名前:667 mailto:sage [2009/01/11(日) 16:14:48 ] どうもありがとうございます。
673 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:16:45 ] >>667 pstrを使う何らかの処理だろJK
674 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:17:36 ] [1] プログラミング言語 c [2] Q1 現在の地域時間から15時間後の日時を表示するプログラムを作成せよ。 表示形式は時間が表示されれば自由とします。 Q2 以下の問いに○×で答えよ。 1.複数のソースファイルによりプログラムを作成するとき、機能や目的ごとに ソースファイルを分割すると、長いソースと短いソースファイルができてしまうので 均等になるように作成したほうがよい。 2.プログラムを機能分割して考えるときコンピュータの話なので、プログラミングに 都合のいいように機能を考え、ユーザの業務内容を無視してもよい。 [3] 環境 [3.1] OS: Windows xp [3.3] 言語: C [4] 期限: 1月17日 よろしくお願いいたします。
675 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:19:26 ] >>674 Q2 1.× 2.○ ベストプラクティスとか言っとけば、ありがたがる。
676 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:24:20 ] >>674 Q1 #include<stdio.h> #include<time.h> int main(void){ time_t t; t=time(NULL)+15*60*60; puts(asctime(localtime(&t))); return 0; }
677 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:59:16 ] >>674 #include <stdio.h> #include <time.h> int main(void) { time_t t; t=time(0); t+=15*3600; printf("%s",ctime(&t)); return 0; }
678 名前:学生 [2009/01/11(日) 18:52:26 ] たくさんの方々 色々とすいませんでした。 どうもありがとうございました。
679 名前:デフォルトの名無しさん [2009/01/11(日) 19:16:24 ] #include <stdio.h> int main(void) { double data1 = 100.0, data2; int i = 1; while (i <= 10){ printf("実数値を入力 "); scanf("%f", &data2); if (data2 == 0.0) continue; data1 = data1 / data2; printf("data1 = %f\n", data1); if ( data1 < 1.0) break; else i++; } return 0; } 間違ってるとこ教えてください。
680 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:24:15 ] scanf("%f", &data2); ↓ scanf("%lf", &data2);
681 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:26:06 ] >>680 あざす。
682 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 21:30:56 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8606.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:VC2005EE [3.3] 言語:C++ [4] 期限:09/01/15迄 [5] その他の制限:配列を使ってやる方法もある、と先生が言っていたので、intを使ったときと、配列を使ったときの2通りのものを知りたいです。 よろしくお願いします。
683 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:07:31 ] [1] 授業単元: プログラミング実習2 [2] 問題文(含コード&リンク): ・関数mainから配列のアドレスを受け取ってその中の最大値を返す関数maxを作成せよ. #include <stdio.h> int max(int a[ ]); int main(void) { int x[ ] = {3,1,2,5,4}; printf("最大値は%d\n",max(x)); return 0; } int max( int max(の後をお願いします。 実行例 最大値は5 [3] 環境 Visual C++ [3.1] OS:Windows [3.2] コンパイラ名とバージョン: C++コンパイラ,リンカ [3.3] 言語: C言語 [4] 期限: 2009年1月12日(月)まで [5] その他の制限: 値渡し、参照渡しは習いました。 宜しくお願いします。
684 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:16:11 ] 配列の大きさはどうすんの?
685 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:19:09 ] > int max(int a[ ]); ちょっwwwwwwwwおまっwwwwwwwww
686 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:20:53 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8608.txt 3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: visualc++2005 [3.3] 言語:C [4] 期限:2009年1月12日AM7時 [5] その他の制限:できるだけ簡単な関数でお願いします
687 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:37:01 ] >>686 もとからバグってるとかないだろ。 原文でよこせ
688 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:40:23 ] >>686 do{ printf("入力して下さい\n"); scanf("%d",&n); }while(n<0);
689 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 22:42:46 ] >>688 こんなじゃね? #include<stdio.h> int main(){ int n; int flag=2; do{ printf("入力して下さい\n"); scanf("%d",&n); if(n<0){ flag--; }else{ printf("%d\n",2*n); flag=2; } }while(flag); printf("終了します\n"); return 0; }
690 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/12(月) 00:23:57 ] お願いします。 [1] 授業単元:Cプログラミング [2] 問題文(含コード&リンク): 二重振り子を微小振動させるとして、厳密な数値解及び解析的な近似解を初期振れ角Θを機動時に指定して、 アニメーション表示させるプログラムを表示しなさい。 グラフィックはgnuplotでもEGGXでもどちらでもよい。 教材の一部を貼っておきます。 up2.viploader.net/pic3/src/vl2_093082.png up2.viploader.net/pic3/src/vl2_092922.png up2.viploader.net/pic3/src/vl2_092923.png zipで専用ロダにもあげておきます kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8603.zip [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2009年1月22日まで]
691 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:30:43 ] >>690 数式みると拒否反応が出る 現役の時でも怪しかったというのに今となってはどうにもならんw
692 名前:674 mailto:sage [2009/01/12(月) 00:41:03 ] >>675 様>>676 様>>677 様 ありがとうございます。
693 名前:675 mailto:sage [2009/01/12(月) 00:44:18 ] >>692 待て!
694 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:51:01 ] >>693 自分でまいた種だw
695 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:53:07 ] >>690 ぶっちゃけ式も読めない。 3枚目の1も2も付いてないΦは何の角度?
696 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 00:59:31 ] >>695 二枚目の式に対して三枚目の近似を適用した結果だから… どうなるんだろう 紙に書かないとわからんw