[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 09/20 09:59 / Filesize : 235 KB / Number-of Response : 742
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 121代目



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/

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

697 名前:sage [2009/01/12(月) 00:59:35 ]
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8610.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C言語
[4] 期限: 2009年 1月 13日
[5] その他の制限:できるだけ単純なプログラムにてお願いいたします。

後できればアルゴリズムを簡単でよければプログラムの下の方に書いていただけると助かります。
まる投げとはいっても一応自分で理解できなければ意味がないと思うので。

是非よろしくお願いいたします。


kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8610.txt

698 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:01:56 ]
>>686
2回連続で負の数が入力されたら終了ってことでいいんだよな?

#include <stdio.h>

int main(void)
{
int n;
int flag = 0;

do {
printf("入力してください\n");
scanf("%d", &n);
if (n < 0) flag++; else { flag = 0; printf("%d\n", 2 * n); }
} while (flag != 2);
printf("終了します\n");

return 0;
}



699 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:02:02 ]
ほんとに3枚目の式合ってるんかな。
もしくは情報不足か

700 名前:585 ◆i9Dvbn/Lf6 mailto:sage [2009/01/12(月) 01:16:14 ]
とにかくさっぱりわからないので、少しでもお願いします
これで最後なんです

701 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:33:22 ]
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8611.txt
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン:visualc++2005
 [3.3] 言語: C言語
[4] 期限: 2009年 1月12日 12:00まで
[5] その他の制限:特になし

よろしくお願いします。



702 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 01:47:26 ]
>>697 1問目 枝狩りしてないので n=100 (190569292 通り) くらいが限界。ついでにすぐに計算結果が long を超える
#include<stdio.h>
#include<stdlib.h>

int min(int a, int b){
if(a<b) return a;
return b;
}

long huga(int n, int maximum){
int i;
long ret=0;

for(i=min(n, maximum);i>0;i--){
if(n-i>0) ret+=huga(n-i, min(i, maximum));
else ret++;
}
return ret;
}

long hoge(int n){
return huga(n, n);
}

int main(int argc, char *argv[]){
int n=4;

if(argc==2) n=atoi(argv[1]);
printf("払い方は %ld 通り (n=%d)\n", hoge(n), n);

return 0;
}

703 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 02:02:34 ]
>>697 3問目
#include<stdio.h>
#include<stdlib.h>
#define ADJUST(v) (((v)=='1' || (v)=='0')?(v):'X')
int myNOT(int A){
if(A=='1') return '0';
if(A=='0') return '1';
return 'X';
}
int myOR(int A, int B){
if(A=='1' || B=='1') return '1';
if(A=='0' && B=='0') return '0';
return 'X';
}
int myAND(int A, int B){
if(A=='0' || B=='0') return '0';
if(A=='1' && B=='1') return '1';
return 'X';
}
int myRSFF(int S, int R, int Q){
if(S=='0' && R=='0') return ADJUST(Q);
if(S=='1' && R=='0') return '1';
if(S=='0' && R=='1') return '0';
return 'X';
}
int main(void){
char buf[3][10];
scanf("%9s%9s%9s", buf[0], buf[1], buf[2]);
printf("S=%c R=%c Q=%c --> Q'=%c\n", buf[0][0], buf[1][0], buf[2][0], myRSFF(buf[0][0], buf[1][0], buf[2][0]));
return 0;
}

704 名前:703 mailto:sage [2009/01/12(月) 02:04:19 ]
>>703 は無しで^^;

705 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 02:13:30 ]
>>695
プログラム無知の数学科出身のおれの意見を書かせてくれ
おそらく二重振り子の原理はφ_1の角度にある玉が原点方向に向かって振れる運動と
φ_2の角度にある玉が原点方向に振れる運動で初期の角度に大きな違いがある
なので一枚目の画像の青い玉の連結が連立微分方程式において重要な役割を得る
が、しかしもしΔφ=φ_1-φ_2=φ≒0ならば、青い玉の部分を考えず(二重振り子にならない)
φ_1≒φ_2になるので考える振り子の運動方程式は直線OQの単振り子のそれに近似できる
φはΔφの限りなく0に近い値のことを指していると思われる

706 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 02:14:28 ]
今後、宿題に答えてもらうには、一問1,000円の課金にしない?

707 名前:703 mailto:sage [2009/01/12(月) 02:17:30 ]
>>697 3問目
#include<stdio.h>
#include<stdlib.h>
#define ADJUST(v) (((v)=='1' || (v)=='0')?(v):'X')
int myNOT(int A){
if(A=='1') return '0';
if(A=='0') return '1';
return 'X';
}
int myOR(int A, int B){
if(A=='1' || B=='1') return '1';
if(A=='0' && B=='0') return '0';
return 'X';
}
int myAND(int A, int B){
if(A=='0' || B=='0') return '0';
if(A=='1' && B=='1') return '1';
return 'X';
}
int myNOR(int A, int B){ return myNOT(myOR(A, B)); }
int myNAND(int A, int B){ return myNOT(myAND(A, B)); }
int myXOR(int A, int B){ return myOR(myAND(myNOT(A), B), myAND(A, myNOT(B))); }
int myRSFF(int S, int R, int Q){
return myXOR(myOR(myAND(myNOR(S, R), Q), myAND(myXOR(S, R), S)), myAND(myAND(S, R), 'X'));
}
int main(void){
char buf[3][10];
scanf("%9s%9s%9s", buf[0], buf[1], buf[2]);
printf("S=%c R=%c Q=%c --> Q'=%c\n", buf[0][0], buf[1][0], buf[2][0], myRSFF(buf[0][0], buf[1][0], buf[2][0]));
return 0;
}

708 名前:703 mailto:sage [2009/01/12(月) 02:31:05 ]
>>707 は S=0 R=X Q=0 --> Q'=0 になっちまうけど
X 出すべきかな?www



709 名前:不完全なソース mailto:sage [2009/01/12(月) 03:11:21 ]
>>682
頭に0がつく数字を考慮しない場合

#include <stdio.h>

void main(){

int gakuban;

printf("学籍番号??? ");
scanf("%d",&gakuban);
if(999999<gakuban<10000000)
printf("学籍番号は7桁の数字で入力して下さい\n");
else
printf("e-mailアドレス: g%d@〜〜〜〜〜〜\n",gakuban);
}

で動くが、例を見る限り0が頭につく数を考慮しなきゃダメそうだね

710 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 04:01:02 ]
>>697 2問目
#include<stdio.h>
#include<math.h>

#define PI (3.1415926535897932384626433832795)
#define DELTA (0.01)

double Calc(double t, double digree){
double radian, x, y, vx0, vy0, v0=138000/3600.0, x0=0.0, y0=1.80, g=9.8;

radian=digree/180*PI;
vx0=v0*cos(radian);
vy0=v0*sin(radian);
x=x0+vx0*t;
y=y0+vy0*t-g*t*t/2;
printf("%e,%e\n", x, y);

return y;
}

int main(void){
double t, digree=0.0, *pdigree;

pdigree=&digree;
scanf("%lf", pdigree);
for(t=0.0;Calc(t, digree)>=0.0;t+=DELTA);

return 0;
}






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef