C/C++の宿題片付けます 157代目at TECH
C/C++の宿題片付けます 157代目 - 暇つぶし2ch2:デフォルトの名無しさん
12/04/27 18:11:03.43
【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
URLリンク(s2.etowns.slyip.net)
URLリンク(codepad.org) ←遅い時間は重い事があります
URLリンク(ideone.com)
URLリンク(pastebin.com) ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 URLリンク(www.linux.or.jp)
【過去ログ検索】        URLリンク(chomework.sakura.ne.jp)
【wiki】               URLリンク(www23.atwiki.jp)
前スレ
C/C++の宿題片付けます 156代目
スレリンク(tech板)

3:デフォルトの名無しさん
12/04/27 18:21:42.61
>>1
おつ

4:デフォルトの名無しさん
12/04/27 18:24:30.60
なんか小町を解いたくらいで偉そうにしている粘着がキモイんですけど・・・

5:デフォルトの名無しさん
12/04/27 18:36:38.16
解かずに偉そうにしてるやつよりはマシ

6:デフォルトの名無しさん
12/04/27 18:37:06.20
小町も解けないアホが必死w

7:デフォルトの名無しさん
12/04/27 19:15:33.09
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>


8:デフォルトの名無しさん
12/04/27 19:23:21.90
こうやって、同レベルとかどっちもどっちとか言い出すのは決まって負けてる方なんだよなw

9:デフォルトの名無しさん
12/04/27 19:30:19.65
>>6
>小町も解けないアホ
いや、だから解いたんだが・・・キモッ 小町を解いたくらいで偉そうにしているガキwww

10:デフォルトの名無しさん
12/04/27 19:30:43.53
レベルの高い>>8が前スレの>>976を解くそうです

11:デフォルトの名無しさん
12/04/27 19:31:37.22
>>5
>解かずに偉そうにしてるやつ
いや、だから解いたんだが・・・何か俺が解いてないのに偉そうにしたとか言われて気分悪いわ。
別に偉そうにした覚えないし。誰と勘違いしてんだ?っつか、ここもID制にすべきだわ。

12:デフォルトの名無しさん
12/04/27 19:34:52.53
>>10 みたいなことを言う奴も、C言語であれこれ解けるのがハイレベルだと思っているんだろうね。
それぞれ専門知識が必要になる場合は、もはや言語を扱うスキル、効率の良いアルゴリズムを
ある程度知っているとは話は別。何でも出来れば良いってもんじゃないし、使わない知識を無駄に
溜め込んでも意味ないんだわ。

13:デフォルトの名無しさん
12/04/27 19:35:02.87
前スレ>>881を解いたのは3人
君はどれだい?

14:デフォルトの名無しさん
12/04/27 19:43:31.32
このスレで一番キモいのは、スレの最初で>>4みたいなことを言い出す奴

15:デフォルトの名無しさん
12/04/27 19:46:51.97
いや、どっちもキモイので消えてください

16:デフォルトの名無しさん
12/04/27 20:00:32.64
外科医が歯科医の専門知識をいくら持っても、外科医として上手くやっていけるのかね?
確かに共通する点はあれど、やはりそれぞれには専門知識、経験が必要だ。
基本、医者である以上、扱う部門が違えど人間を扱うし、小さな例を挙げると
滅菌、麻酔、注射、その他治療をするに当たって注意しなければならない器具の取り扱いや
人体の基本は共通しているから知っているだろう。物理だって法則などは
目で見たほうが手っ取り早いが、それらを数値化するにはやはり数学が必要だ。
しかし、アインシュタインは質問された時、光速度を知らなかった。

まぁ、プログラム言語を扱う基本知識は重要だし、効率の良いコードを書くには
柔軟な考え方も必要。少し外に出て頭を冷やしたらどうかね?
喫煙ばかりしてて血流が悪くなり、吸い終わった後の間違ったスッキリ感では駄目なのだよ。
ワトソン君。

17:デフォルトの名無しさん
12/04/27 20:25:22.07
またこのアホが湧く季節になったのか

18:デフォルトの名無しさん
12/04/27 20:36:12.59
前スレ >>976 画像ファイルフォーマット指定してほしい


19:デフォルトの名無しさん
12/04/27 21:02:58.04
春だなー(棒)

20:デフォルトの名無しさん
12/04/27 21:23:54.97
24ビットのBMPでいいらしい

21:デフォルトの名無しさん
12/04/27 21:41:15.39
>>15
そこまで言うなら、あなたが消えた方が手っ取り早いんでは?
このスレに何か未練でもありますか?

22:デフォルトの名無しさん
12/04/28 01:58:43.34
うわ、こいつほんとキモいな。
迷惑かかってんのわかんないの?

23:デフォルトの名無しさん
12/04/28 02:32:59.65
[2] あのね











おしっこシィーーーーーッ!

24:デフォルトの名無しさん
12/04/28 04:36:06.83
>>21
Qっぽい特徴がプンプン臭ってるな

25:デフォルトの名無しさん
12/04/28 10:05:06.21
どうでもいいけど前スレ976の画像フォーマットまだー?

26:デフォルトの名無しさん
12/04/28 10:43:19.86
>>17 アホが自分だと自覚しろ

27:デフォルトの名無しさん
12/04/28 11:44:36.18
出題はまだかなぁ。

28:デフォルトの名無しさん
12/04/28 14:18:17.51
[1] 授業単元:QRコード変換
[2] 問題文:
打ち込んだテキストデータをQRコードの画像に変換するプログラムを作成せよ.
(QRコードの規格は公開されているので,それを組み合わせて作ればよい.
エラー訂正レベルを下げ,文字数を固定するなどして簡単なものから順に実装していけば良い.)

[3] 環境
 [3.1] OS: Windows vista
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: C言語
[4] 期限: 5/7
宜しくお願いします。


29:デフォルトの名無しさん
12/04/28 15:02:06.83
規格調べんの面倒くさい

30:デフォルトの名無しさん
12/04/28 18:39:14.13
画像のフォーマットは?

31:デフォルトの名無しさん
12/04/28 18:57:04.19
>>30
24カラーbmpで

32:デフォルトの名無しさん
12/04/28 20:21:22.10
>>28
作るのはまだいいとしても、次の段階として読みとるのを作るだろうから相当しんどいな
傾いた画像とか、汚れで一部読めないとかwww

33: ◆qr00w3BQO6
12/04/29 12:38:40.32
[1] 授業単元: udpプログラム
[2] 問題文(含コード&リンク): 計測機器が計測結果をUDP通信で連続的に送ってくる.このパケットを受信しprintfで表示しないさい.このとき送られてくるパケットのipアドレス,port,バッファサイズは変化がなくあらかじめ分かっているものとする.
[3] 環境
 [3.1] OS: Windows7 x64
 [3.2] コンパイラ名とバージョン: VC++ 2010express
 [3.3] 言語: C
[4] 期限: 今月中
[5] その他の制限: 最終的にMATLABのMEXに載ります


URLリンク(www.katto.comm.waseda.ac.jp)
ここ見ながらやってるんですが,bindで

1> part2.cpp
1>d:\udp\part2\part2\part2.cpp(41): error C2664: 'bind' : 2 番目の引数を 'sockaddr_in *' から 'const sockaddr *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。

とエラーが出てしまい困ってます.
WINDOWS SDKをインストールし,part2(ファイル名)のプロパティで
<リンカー><入力><追加の依存ファイル>に<wsock32.lib;%(AdditionalDependencies)>
と書き換えています.
デバッグ手伝ってください><



34:デフォルトの名無しさん
12/04/29 13:00:29.18
>>33
エラーメッセージの通りに直してみろ

35: ◆qr00w3BQO6
12/04/29 14:01:20.38
>>34
返信ありがとうございます.
卒研で機械系の学生がCとwinsockの本にかじりつきながらやってるのでエラーメッセージの意味を理解出来てないです.
ここで問題になっている'sockaddr_in *' から 'const sockaddr *'はconst修飾子で変数の変更を制限しようとしているんですよね?(今調べました)
構造体を初期化しているmemsetやrecvsockaddr.sin_~~~の値の代入に問題があるのでしょうか?

または,winsockのリファレンスによるとbindの2番目の引数は「ソケットアドレス構造体を指すポインタ」とあるので
sockaddr_in recvSock Addrへのポインタ構文がおかしいのでしょうか?

36:デフォルトの名無しさん
12/04/29 14:30:11.63
>>35
bindの第二引数、キャストしてる?

37:デフォルトの名無しさん
12/04/29 14:33:42.97
>>35
本見れなくても2chに書き込めるってことはインターネットでいくらでも調べられるじゃん
とりあえずbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えれば通る

38: ◆qr00w3BQO6
12/04/29 14:45:51.22
>>36 ありがとうございます
(struct sockaddr_in *) &recvSockAddr
この構文を
(struct sockaddr *) &recvSockAddr
と記述すればいいという解釈でいいでしょうか?

この構文ですとvc++はエラーを吐かないんですが,コンパイルして実行しても
bindの返り値statusがSOCKET_ERRORになっています.
後のnumrcv=recvfrom(~~~~)文も-1の返り値を返しているのでソケットの作成かbindに
問題があると思うのですがわかりません...

39:デフォルトの名無しさん
12/04/29 15:17:35.81
適当にやってもロクな結果出んぞ

40: ◆qr00w3BQO6
12/04/29 15:56:25.61
>>39
>>37さんが仰られている通りbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えることで
プログラムは回りました,しかし,bindでのエラー原因がわからず手をつけられずにいます.
どこか見落としているところがあるのでしょうか?

41:デフォルトの名無しさん
12/04/29 19:49:17.16
>>40
bindでのエラーってやつがコンパイルエラーのこと言ってるなら
エラーメッセージに型が違うから使いたいならキャストしろって書いてあるじゃん

42: ◆qr00w3BQO6
12/04/29 20:01:41.83
bindに
status = bind(recvSocket, (struct sockaddr *)&recvSockAddr, sizeof(recvSockAddr));
if (status != 0) {
wprintf(L"bind failed with error %d\n", WSAGetLastError());
}
このようなエラーメッセージをつけて調べたところ10048と出力されました

WSAEADDRINUSE (10048)
意味 : アドレスは既に使用中です。
説明 : 通常、ソケット アドレス (プロトコル/IP アドレス/ポート) は、
それぞれ 1 つずつしか使用できません。プログラムが、既に存在する
ソケット (正しく閉じられなかったソケットまたは閉じている最中の
ソケット) で使用されている IP アドレスやポートにソケットをバインド
(Wsapiref_6vzm.asp) すると、このエラーが発生します。
同一のポート番号に複数のソケットをバインドする必要のある
サーバー プログラムの場合は、setsockopt (Wsapiref_94aa.asp)
(SO_REUSEADDR) の使用を検討してください。
クライアント プログラムは通常 bind を呼び出す必要はなく、
connect (Wsapiref_8m7m.asp) は未使用のポートを自動的に選択します。
bind がワイルドカード アドレス (ADDR_ANY など) を使用して呼び出された
場合、WSAEADDRINUSE エラーは、特定のアドレスがコミットされるまで発生
しない可能性があります。このエラーは、後に別の関数
(connect、listen、WSAConnect、および WSAJoinLeaf など) が呼び出された
ときに発生することがあります。

だそうです.なのでPCを再起動してデバッグなしで実行してみたのですがやはり同じような
エラーメッセージが表示されました.なぜでしょうか?

43:デフォルトの名無しさん
12/04/29 20:15:48.47
それ自体は説明にあるとおり。

44:デフォルトの名無しさん
12/05/01 07:40:41.89
n変数多項式の代数処理プログラム作ってください.
必要機能は
・n変数多項式の足し算,引き算,掛け算,微分,積分,ただし,有理数係数でOK
・n変数多項式の既約分解
・多項式環の基本演算(上と同じ)と局所環がもとめられること
・代数的多様体上を定義可能,グラフィクスはオプション

とりあえずここまでお願いします.後すこしありますが,それはじぶんでつくります.


45:デフォルトの名無しさん
12/05/01 11:56:49.14
なんかベンツタダでくださいみたいな話に読めた

46:デフォルトの名無しさん
12/05/01 13:14:18.17
代わりに修士論文書いて、くらいか?

47: ◆qr00w3BQO6
12/05/01 18:29:46.49
>>42
skypeにポートが使われていたのが問題でした.
その他にも問題が多数出てきましたが自己解決の末,無事作成できました.
アドバイスの数々ありがとうございました.

48:デフォルトの名無しさん
12/05/01 19:42:16.11
アドバイスなんてなかった

49:デフォルトの名無しさん
12/05/01 23:44:44.73
[1] 授業単元 情報工学
[2] 問題文
n枚のカードからr枚のカードを選ぶ組み合わせを計算するプログラムを作成せよ。
但し、n≧1  r≧1  n≧rを前提してよい。(入力エラーの処理は不要)
[3] 環境
 [3.1] OS: Linux
 [3.3] 言語: C
[4] 期限: (2012年5月2日13:00まで)
よろしくお願いします。

50:デフォルトの名無しさん
12/05/01 23:58:39.61
nの最大値は?

51:デフォルトの名無しさん
12/05/02 00:01:52.05
nの最大値は52です。(トランプの枚数)

52:デフォルトの名無しさん
12/05/02 00:05:16.20
局所環以外は多項式を表すデータ構造さえ決めてしまえば簡単だろ.

53:デフォルトの名無しさん
12/05/02 01:41:50.97
>>52
微分、積分できる?

54:みならい ◆yPB1OBVvQhZo
12/05/02 03:43:39.21
>>49
URLリンク(codepad.org)

55:デフォルトの名無しさん
12/05/02 06:53:28.02
[1] 授業単元 情報工学
[2] 問題文
通信サービスの1ヶ月の利用料金は、基本料金500円と1分辺りの利用料金10円との合計である。
この通信サービスの1ヵ月の利用料金x分受け取ると、利用料金y円を計算するryoukin関数を作成せよ。
そしてこの通信サービスの1ヶ月の分単位の利用時間を入力すると、利用料金を計算するプログラムを、main関数からryoukin関数を呼び出す形で作成せよ。
但し、利用時間は分単位を前提とする。
[3] 環境
 [3.1] OS: Linux
 [3.3] 言語: C
[4] 期限: (2012年5月3日13:00)
よろしくお願いします。

56:デフォルトの名無しさん
12/05/02 07:47:46.83
>>55
int ryoukin(int x){
return x*10+500
}

57:デフォルトの名無しさん
12/05/02 08:19:35.78
>>56
つ unsigned

58:デフォルトの名無しさん
12/05/02 12:28:45.95
1分10円、1時間600円・・・たけぇ。

59:デフォルトの名無しさん
12/05/02 13:50:19.15
>>50
上限は整数型の上限に決まってんじゃん
計算結果が例えばunsignedの上限を超えないようなn,rの場合まで考えてあげればプロ
他に聞く前に考えろ

60:デフォルトの名無しさん
12/05/02 14:56:21.64
勝手に言っておいて自分で限定するとか、やるなら無限にしろよw

61:デフォルトの名無しさん
12/05/02 19:06:54.60
別に無限でもやれるならいいんだけどな
その扱い方さ 教えてくれよ

62:NAS6 ◆n3AmnVhjwc
12/05/02 20:10:34.24
>>49
int kaijo(int n){
 int i,ret=1;
 for(i=1;i<n;i++)ret*=i;
 return ret;
}
int kumiawase(int n,int m){
 return kaijo(n)/(kaijo(m)*kaijo(n-m));
}

63:NAS6 ◆n3AmnVhjwc
12/05/02 20:13:18.00
訂正

for(i=1;i<=n;i++)ret*=i;

64:デフォルトの名無しさん
12/05/02 20:40:46.99
スゲーな
factorial permutation combinationとか書かないのはwww

10ブっこんだだけで3628800、
階乗計算で手抜きしなきゃ
ギリ合格の80点はくれてやるよw


65:デフォルトの名無しさん
12/05/02 21:53:13.92
100万桁くらいで我慢しとけw

66:デフォルトの名無しさん
12/05/02 21:54:16.46
コテハン名乗る割には大したことない。
クズ同然。

67:デフォルトの名無しさん
12/05/02 22:09:31.10
あと掛け算ならi=1からやる必要ねーだろw
アホちゃうかwww
あ、アホかw


68:デフォルトの名無しさん
12/05/02 22:12:20.09
>>62みたいなやり方のことを考えてnの最大値を聞いてるのにな

69:NAS6 ◆n3AmnVhjwc
12/05/02 22:17:14.77
桁が足りないならlong long intを使うか
演算の面倒な構造体なりポインタ使うなり

それこそdouble使えば?



70:デフォルトの名無しさん
12/05/02 22:18:52.16
プリミティブ型を使う義務なんてないのに。
クズコテハンはこの程度かw

71:NAS6 ◆n3AmnVhjwc
12/05/02 22:20:37.48
素数判定プログラムをc/c++室に貼りました

72:NAS6 ◆n3AmnVhjwc
12/05/02 22:21:54.80
c++じゃなくてcでしょ

73:デフォルトの名無しさん
12/05/02 22:32:57.99
すぐオーバーフローするもの貼っといて、使えば?じゃねーよw


74:デフォルトの名無しさん
12/05/02 23:07:42.68
結論:ゴミ製造機www


75:デフォルトの名無しさん
12/05/02 23:38:42.25
階乗は確かに順列、組み合わせで使われているけどさ
せめてパスカルの三角形とか工夫しろよ・・・

76:デフォルトの名無しさん
12/05/02 23:55:31.27
>>49
やってみた
int gcd(int a, int b){
int c;
while((c=a%b)) a=b,b=c;
return b;
}

int nCr(int n, int r){
int i, j, d, t, *data;

if(n<0 || r<0 || n<r) return 0;
if(r*2>n) r=n-r;

data=malloc(sizeof(*data)*r);
for(i=0;i<r;i++) data[i]=n-i;

for(i=0;i<r;i++){
t=r-i;
for(j=0;j<r && t>1;j++){
d=gcd(data[j], t);
data[j]/=d;
t/=d;
}
}
t=1;
for(i=0;i<r;i++) t*=data[i];
free(data);

return t;
}

77:デフォルトの名無しさん
12/05/03 00:08:16.57
途中過程が重要じゃないなら、パスカルの三角形でええやろ・・・

78:デフォルトの名無しさん
12/05/03 00:49:33.02
>>49
パスカルの三角形
int nCr(int n, int r)
{
int *p, *s, *d, *t, ret, i, j;

p=calloc(sizeof(int), (n+1)*2);
s=p;
d=p+n+1;
for(i=0;i<=n;i++)
{
d[0]=1;
for(j=1;j<=i;j++)
{
d[j]=s[j-1]+s[j];
}
t=s;
s=d;
d=t;
}
ret=s[r];

free(p);
return ret;
}

79:デフォルトの名無しさん
12/05/03 01:56:00.12
あ、これはおもしろいな

80:デフォルトの名無しさん
12/05/03 02:18:46.70
>>49,78
これでもOKのはず。
int nCr(int n, int r){
int *p, ret, i;

r = r > n - r ? n - r : r;
p = calloc(sizeof(int), r + 1);
*p = 1;
while (n--)
for (i = r; i; i--)
*(p + i) += *(p + i - 1);
ret = *(p + r);
free(p);
return ret;
}

81:デフォルトの名無しさん
12/05/03 23:10:27.54
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):

xが十分小さいとき、次の式を使ってsinxを近似的に求める事ができる。
sinx=x-x^3/3!+x^5/5!-x^7/7!
0.05π刻みで、0.0からπまでのxについて、math.hに含まれている関数
sin()と値を比較しなさい。
ただし、円周率πはmath.hに含まれているマクロ M_PIを使用するか、
三角関数を用いて正確に計算した値を使うこと。

[3] 環境
 [3.1] OS: Linux
 [3.1] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:5月8日
[5]
配列の使用はしてはいけないそうです。
お手数ですがよろしくお願いします。

82:デフォルトの名無しさん
12/05/04 00:19:38.64
冗長につくってみた。
URLリンク(ideone.com)

83:デフォルトの名無しさん
12/05/04 00:21:11.66
少しだけ訂正
URLリンク(ideone.com)

84:デフォルトの名無しさん
12/05/04 00:22:17.27
>>81
> sinx=x-x^3/3!+x^5/5!-x^7/7!
もちろんこの式が何展開と呼ぶかは習うんだよな?


85:デフォルトの名無しさん
12/05/04 00:54:34.19
はい!ゆうこりんのマン○リン展開です!

86:デフォルトの名無しさん
12/05/04 09:52:55.78
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
刻み幅0.001秒で微分方程式dx/dt+x=1(x(0)=0)
をオイラー法によって解くプログラムの作成。
[3] 環境
 [3.1] Linux
 [3.3] 言語:C
[4]期限:(5月5日土曜日22:00)

どうかよろしくお願いします。

87:デフォルトの名無しさん
12/05/04 10:16:48.75
後学のために聞くけどその微分方程式は一体どういう何の物理現象なんだ?


88:デフォルトの名無しさん
12/05/04 13:22:38.73
オイラの為に

89:デフォルトの名無しさん
12/05/04 13:28:38.19
自信ないけど作ってみた。
URLリンク(codepad.org)

90:デフォルトの名無しさん
12/05/04 20:03:33.31
>>89
違うよ。全然違うよ。

91:デフォルトの名無しさん
12/05/04 20:36:51.66
>>90
>>86の回答頼む
俺、数学分からんからどうしようもない

92:デフォルトの名無しさん
12/05/04 21:03:43.82
>>86
#include<stdio.h>

int main(void)
{
double x, t, delta=0.001;
int i;

x=0.0;
for(i=0;i<=10000;i++)
{
t=delta*i;
printf("x(%f)=%f\n", t, x);
x+=delta*(1-x);
}

return 0;
}

93:デフォルトの名無しさん
12/05/04 21:10:09.88
deltaを即値では無く、変数とした理由は?

94:デフォルトの名無しさん
12/05/04 21:13:26.89
A. アホだから
A. 数値積分とオイラー法についてなんら分かっていないから
A. ノリ
A. 何となくかっこいいじゃん!


95:デフォルトの名無しさん
12/05/04 21:18:16.66
>>87 とか >>93 みたいなのは何なの?

96:デフォルトの名無しさん
12/05/04 21:22:27.02
>>95
何なのって
お前は気にならないの?

dx/dyじゃない、dx/dtになってて
しかもわざわざ刻み幅を「秒」で指定してるんだぜ
アホの一つ覚えでそのまんまにプログラミングしてりゃあいいってモンでも無いだろ


97:デフォルトの名無しさん
12/05/04 21:29:40.67
>>96
アホはお前じゃないの?

98:デフォルトの名無しさん
12/05/04 22:47:55.53
>>95
コードを見る限り、deltaは普遍値だよな。

そんな疑問すら想像出来ないのか?

99:デフォルトの名無しさん
12/05/05 22:49:35.99
[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク):
次の関数の最小値と、その時のa,b,c,dそれぞれの値を出力するプログラムを作成してください。
ただし、0<a<b<c<d<200とする。
4a+exp(-0.5b)-3c+exp(0.5d)
[3] 環境
 [3.1] OS: (Windows/Linux/等々) linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 5/9
[5] その他の制限なし

よろしくお願いします。


100:99
12/05/05 22:52:59.31
補足です、a,b,c,dは整数で構いません。
よろしくお願いします。

101:デフォルトの名無しさん
12/05/05 23:07:00.72
>>99
#include<stdio.h>
#include<math.h>

int main(void){
int a, b, c, d, min_a=0, min_b=0, min_c=0, min_d=0, is_first=1;
double val, min=0.0;

a=1;
for(b=a+1;b<200-2;b++){
for(c=b+1;c<200-1;c++){
d=c+1;

val=4*a+exp(-0.5*b)-3*c+exp(0.5*d);
if(is_first || min>val){
is_first=0;
min=val;
min_a=a;
min_b=b;
min_c=c;
min_d=d;
}
}
}
printf("min=%f a=%d b=%d c=%d d=%d\n", min, min_a, min_b, min_c, min_d);

return 0;
}

102:デフォルトの名無しさん
12/05/06 00:15:25.59
てst

103: ◆mHohOs/xSFyi
12/05/06 00:22:19.27
[1] 授業単元:院試過去問(データ構造とアルゴリズム?)
[2]問題文は次のレスで
[3-5]無指定、無期限

104:デフォルトの名無しさん
12/05/06 00:32:46.95


105:103 ◆mHohOs/xSFyi
12/05/06 00:35:19.67
うまく書き込めずリライトしました。すみません。

[1] 授業単元:院試過去問(データ構造とアルゴリズム?)
[2] 問題文
下記リンク専門科目Ⅰ第一問(3)がわかりません。(2ページ目)
URLリンク(www.i.u-tokyo.ac.jp)
(2009年東京大)

[3-5]環境無指定(出題はCだが大意があっていればC++でも可)、無期限

106:デフォルトの名無しさん
12/05/06 00:43:44.21
お前らは
URLリンク(www.i.u-tokyo.ac.jp)
を全部解ける?
解けるなら解いてみて

107:デフォルトの名無しさん
12/05/06 00:48:39.60
>>105
メモリ確保しながらループ回すんじゃないの?

108:デフォルトの名無しさん
12/05/06 00:52:00.00
作った先生がなんとなくわかっちゃうのがおもしろいな
俺もそろそろ院試対策始めないと

109:デフォルトの名無しさん
12/05/06 00:53:27.64
>problem booklet
いきなりフイタw

110:103 ◆mHohOs/xSFyi
12/05/06 00:59:20.03
>>107
bintree中のポインタを変更しながら、の意味がよくわからなかったのですが
基本whileで回すとして
探索が終わった枝に
left = nullを代入して両方nullだったら探索終了、ループ続行
ってやればよさそうですね

皆様ありがとうございました。

111:103 ◆mHohOs/xSFyi
12/05/06 01:13:51.30
ダメだ帰り道を考えてませんでした。
leftを退避させて親ノードへのポインタをleftに入れる、という方向で考えてみます

112:デフォルトの名無しさん
12/05/06 01:26:07.38
>>105
int bintree_sum(struct bintree *root)
{
struct bintree *p, *r_last;
int sum=0;

for(r_last=root;r_last->right;r_last=r_last->right)
;

for(p=root;p;p=p->right)
{
sum+=p->val;
if(p->left)
{
r_last->right=p->left;
for(;r_last->right;r_last=r_last->right)
;
p->left=NULL;
}
}
return sum;
}

113:デフォルトの名無しさん
12/05/06 01:35:56.97
>>106
制限時間内だと1/3~1/2くらいしか解けないと思う
ってかまず用語の意味が分からないwww

114:デフォルトの名無しさん
12/05/06 01:45:35.17
1/2ちょっとで大体受かるそうな

115:defo
12/05/06 04:03:26.73
>>86
#include<stdio.h>
int main(void) {
  double y=0.0, t=0.0, delta=0.001;

  for(printf("t, f(t)\n"); t<=10.0; t+=delta) {
    printf("%f, %f\n", t, y);
    y += delta*(1-t);
  }
}

116:デフォルトの名無しさん
12/05/06 08:24:58.50
>>99
#include<stdio.h>
#include<math.h>

int main(void)
{
int a=1, b=199, c=199, d=1;

printf("min=%f a=%d b=%d c=%d d=%d¥n",
4*a+exp(-0.5*b)-3*c+exp(0.5*d),
a, b, c, d);

return 0;
}

117: ◆QZaw55cn4c
12/05/06 09:46:20.38
>>116
>c<d<200

118:デフォルトの名無しさん
12/05/06 11:29:04.38
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):
次の規則に従う数列a_{0},a_{1},a_{2},...を表示するプログラムを作成しなさい.
ただし、配列を使用してはならない。
1. 初期値a_{0}は,任意の自然数とする.
2. 数列a_{n+1}は次の式で決められる.
a_{n+1}=a_{n}/2   (a_{n}が偶数のとき)
a_{n+1}=3a_{n}+1   (a_{n}が奇数のとき)
3. 数列a_{n}=1になったら終了する.
例えば,a_{0}=13のとき{13, 40, 20, 10, 5, 16, 8, 4, 2, 1}となる.
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 5/9
[5] その他の制限なし
よろしくお願いします。


119:デフォルトの名無しさん
12/05/06 11:44:35.61
>>105
>>107
C++でもいいんだよね。
幅優先でやった。これキューも新たなデータ構造扱いか?

URLリンク(ideone.com)

120:119
12/05/06 11:54:05.23
やっぱキューはおもいっきり駄目だねw

121:デフォルトの名無しさん
12/05/06 12:03:21.33
>>118
#include <stdio.h>

int main(){
int a=13;
int fst = 1;
printf("{");
do{
printf("%s%d", fst ? "" : ",",a);
a = (a % 2 == 0 ? a/2 : 3*a+1);
if(fst) fst = 0;
}while(a!=1);

printf("}\n");

return 0;
}

122:121
12/05/06 12:08:14.40
>>118
ごめん、こっちで
#include <stdio.h>

int main(){
int a=13;
int fst = 1;
printf("{");
while(1){
printf("%s%d", fst ? "" : ",",a);
if(a==1) break;
a = (a % 2 == 0 ? a/2 : 3*a+1);
if(fst) fst = 0;

}

printf("}\n");
return 0;
}

123:デフォルトの名無しさん
12/05/06 17:46:38.77
>>101
>>116

ありがとうございました。

124:デフォルトの名無しさん
12/05/07 02:16:29.85
>>122
大変助かりました。
ありがとうございました!


125:デフォルトの名無しさん
12/05/07 23:05:22.81
共に入社した同期に10年ぶりにあった
話がはずむうちに、彼は「パチでもいこうか」と右手を回すゼスチャーをし、おれをさそった。

オレはパチンコをやめて10年近くになる
そういや昔は一緒にパチンコ屋に行って、給料日前になると
「金がない」と互いに言い合っていたっけ。

パチンコをやめた先輩が「パチンコしている時間に、一冊の本でも読めれば人生の時間はもっと有意義に過ごせるだろう」
という言葉で「やめなきゃ」と思っていたパチンコがすんなりやめられた

久しぶりのパチンコ屋は何やら様子が変わっていた。
一列に並んでパチンコを打つ人をよく観察すると、なんだかみすぼらしく、薄汚れて見える。

そして新ためて友人をよくみると、彼のよれよれのスーツ、安物の靴、が目に入った
オレに笑いかける歯は汚く、髪はべとついて見えた。少々すえたニオイもする、、、。

相乗りしてきた車は10年前と同じだったっけ。

久しぶりの友人をパチンコ屋へ誘う彼はこの10年間どれだけの時間、パチンコ屋ですごしたのだろう?
20代をどう過ごしたのだろう、、。
どれだけの金をこのうるさい機械どもに投入したのだろう?

彼はオレの支社にカワイイ子はいないかとたずねた
彼はまだパチンコ台が恋人らしい

先輩のあの言葉を聞けて、本当にラッキーだった
限りなくラッキーだった。

嫌なヤツだと思われるだろうが、本当にそう思う

126:デフォルトの名無しさん
12/05/07 23:13:00.27
自己紹介乙。
次どーぞ。

127:デフォルトの名無しさん
12/05/08 09:24:21.90
暇だから、行くんじゃね?
問題:B地区とビーチクの発音の違いを発音記号で表せ。

128:デフォルトの名無しさん
12/05/08 21:38:31.95
[1] 授業単元: プログラミング
[2] 問題文:
1ヵ月の利用料金は、基本料金500円と1分当りの利用時間10円との合計である。
1ヵ月利用時間x分を受け取ると、利用時間y円を計算するryoukin関数を作成せよ。
そして1ヵ月の分単位の利用時間を入力すると、利用料金を計算するプログラムをmain関数からryoukin関数呼び出す形で作成せよ。
但し、利用時間は分単位を前提とする。
[3] 環境
[3.1] OS: Linux
[3.3] 言語: C
[4] 期限:5月9日
[5]
利用時間から利用料金を計算する処理を記述する。
引数と関数(戻り値)のデータ型は整数型です。
よろしくお願いします。

129:デフォルトの名無しさん
12/05/08 21:41:13.25
4行目の「利用時間y円」は「利用料金y円」です。

130:デフォルトの名無しさん
12/05/08 21:56:41.88
概出

131:デフォルトの名無しさん
12/05/08 21:58:22.49
[1] 授業単元:プログラミング演習
[2] 問題文:
複素数a+ibのn乗を求めるプログラムを作成しなさい。
ただし、係数a,bの値とnをそれぞれ読み込み、途中経過と計算結果を出力すること。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月9日
[5]
配列の使用は禁止だそうです。
よろしくお願いします。

132:デフォルトの名無しさん
12/05/08 22:17:10.96
[1] 授業単元:プログラミング演習
[2] 問題文:
double func(double x,double y, double z)
{
double sum;
sum=x+y+z;
return sum;
}
上記のfunc関数を利用して3つの実数を入力すると、それらの合計値を計算するプログラムをmain関数からfunc関数を呼び出す形で作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C
[4] 期限:5月9日
[5]
引数と関数のデータ型は整数型。
よろしくお願いします。

133:デフォルトの名無しさん
12/05/08 22:29:59.56
>>131
読み込むって何処から?

134:デフォルトの名無しさん
12/05/08 23:28:29.19
>>131
URLリンク(ideone.com)

135:デフォルトの名無しさん
12/05/08 23:30:30.94
>>132
>double func(double x,double y, double z)
>引数と関数のデータ型は整数型。

矛盾してないか?

136:デフォルトの名無しさん
12/05/08 23:32:41.97
>>135
その関数を直接使うんじゃなくてラッパー噛ませってことだろ

いや、ないか

137:デフォルトの名無しさん
12/05/09 00:10:54.39
>>135>>136
戻り値の事だと思います。

138:デフォルトの名無しさん
12/05/09 00:22:18.08
え?

139:デフォルトの名無しさん
12/05/09 07:56:56.01
>>128
この問題>>55にも出題されていたがせめて、
「1ヵ月の利用料金は、基本料金500円と1分当りの利用時間10円の従量料金の合計である。」とでも
改めて書き込むべきだったろう。変な日本語に嫌気して、回答してくれなかった人もいると思う。


140:デフォルトの名無しさん
12/05/09 08:07:04.32
>>128
#include <stdio.h>

int ryoukin(int x)
{
return 500 + 10 * x;
}

int main(){
int x, y;

printf("1ヵ月間の利用時間=");
scanf("%d", &x);
y = ryoukin(x);
printf("1ヵ月の利用料金=%d¥n", y);

return 0;
}

141:デフォルトの名無しさん
12/05/09 08:26:01.18
>>134
ありがとうございました!
たすかります!!

142:デフォルトの名無しさん
12/05/09 08:33:49.81
>>132
>>/* 引数と関数のデータ型は整数型。 */
↑が間違いなら↓で。

#include <stdio.h>

double func(double x,double y, double z){
double sum;
sum=x+y+z;
return sum;
}

int main(){
double x, y,z;

printf("x, y, z = ");
scanf("%lf %lf %lf", &x,&y,&z);
printf("合計値=%g¥n", func(x,y,z));

return 0;
}


143:デフォルトの名無しさん
12/05/09 09:38:39.03
>>118
#include <stdio.h>

int main(){
int a = 13;

printf("{%d", a);
while (a != 1)
printf(",%d",a = (a % 2 ? 3 * a + 1 : a / 2));
printf("}¥n");

return 0;
}

144:デフォルトの名無しさん
12/05/09 13:50:14.09
[1] 授業単元:プログラム設計応用
[2] 問題文:入力した点数の合計(gokei)を表示
人数は3、点数は80、70、60と入力し、最終的に「3名の合計点は210です。」と
表示させるために、【___】に当てはまる式を答えよ

#include <stdio.h>
main()
{
 int n, ten, i, 【______】;
 printf("人数を入力:");
 scanf("%d",&n);
 for(i=1;i<=n;i++){
  printf("点数を入力:");
  scanf("%d",&ten);
  if(ten>=80)
   printf("点数は %d 点です。合格です。\n",ten);
  else
   printf("点数は %d 点です。不合格です。\n",ten);
  【______】
 }
 【______】;
}
 
[3] 環境
 [3.1] OS:Windows
 [3.2] Visual Studio 2008
 [3.3] 言語:C
[4] 期限:本日中
どうかよろしくお願いします。

145:デフォルトの名無しさん
12/05/09 14:17:38.34
goukei = 0
goukei = goukei + ten;
printf("%d名の合計点は%dです。\n", n, goukei)

146:デフォルトの名無しさん
12/05/09 15:41:06.26
>>145
ありがとうございます。助かりました…!!!

147:デフォルトの名無しさん
12/05/09 16:05:52.14
再度失礼します。>>144です。

>>144の応用で、人数は4点数は80、50、90、30と入力していき、最終的に
「合格者は2名で合計点は170です。不合格者は2名で合計点は80です。」
と表示させるためにはどう書き換えたらいいのでしょうか。

ちなみに

合格者人数 g_n
合格者合計 g_gokei
不合格者人数 f_n
不合格者合計 f_gokei

と、指定するとします。

148:デフォルトの名無しさん
12/05/09 16:48:54.18
>>147
URLリンク(codepad.org)

149:デフォルトの名無しさん
12/05/09 21:53:08.74
URLリンク(foomii.com)

150:デフォルトの名無しさん
12/05/09 22:43:46.85
[1] 授業単元:プログラミング
[2] 問題文:
y=1+x+x^2+x^3+...+x^N ただし |x|<1

を計算する関数 float func1(float x, int N) を定義してその動作を確認するプログラムkadai3-1.cを書きなさい。
ただしNとxはキーボードから次で入力するものとする。
scanf("%f %d", &x, &N);
答えは以下で出力されるものとする。
printf("answer = %f\n", answer);

[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月10日
[5]
よろしくお願いします。


151:デフォルトの名無しさん
12/05/09 22:44:52.15
[1] 授業単元:プログラミング
[2] 問題文:
y=1+(1/x)+(1/x)^2+(1/x)^3+...+(1/x)^N

ただしNとxはキーボードから次で入力するものとする。
scanf("%f %d", &x, &N);
答えは以下で出力されるものとする。
printf("answer = %f\n", answer);



[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月10日
[5]
よろしくお願いします。


152:デフォルトの名無しさん
12/05/09 22:54:51.73
>>151
残り時間あと1時間チョイか
難儀なモンだ


153: ◆QZaw55cn4c
12/05/09 23:10:48.45
>>150
URLリンク(ideone.com)

154: ◆QZaw55cn4c
12/05/09 23:14:49.58
>>151
URLリンク(ideone.com)

155:デフォルトの名無しさん
12/05/09 23:27:09.23
>>153 >>154
ありがとうございます

156:デフォルトの名無しさん
12/05/09 23:33:36.92
>>155
これを提出するのはやめといたほうがいいぞ、答えはあうけれども

157:デフォルトの名無しさん
12/05/09 23:42:26.90
>>156
なぜですか?
提出しちゃったんですけど…

158:デフォルトの名無しさん
12/05/09 23:45:02.11
>>157
このスレを5くらい遡って見て
コイツがどういうクソクズコードを書いているかを見りゃあいい
ホカのスレでも「来んなよ!!」とか言われているし

簡単に言えば出来上がりのコードがゴミ

159:デフォルトの名無しさん
12/05/10 00:00:34.86
>>158
さかのぼらなくてもここをみるだけでいい
スレリンク(tech板)

160:デフォルトの名無しさん
12/05/10 00:02:12.06
>>157
かわいそうに
先生から動作を質問されたらどうするの?

161:デフォルトの名無しさん
12/05/10 00:04:52.59
>>158
>>153-154 よりもましなコードを書いてみろ

162:デフォルトの名無しさん
12/05/10 00:05:43.32
>>161
おいおいトリ外して自演かよw


163:デフォルトの名無しさん
12/05/10 00:07:47.23
>>162
自演認定ご苦労

164:デフォルトの名無しさん
12/05/10 00:09:15.46
>>163
おいおいクソがまたまたトリ外してクソ自演かよwww
やっぱりQZはクズの略称だなwww
やっぱりカズゴミじゃねーかw

165:デフォルトの名無しさん
12/05/10 00:10:47.11
>>164
>>153-154よりましなのがかけんのならだまっててくれんか?

166:デフォルトの名無しさん
12/05/10 00:12:09.23
>>165
オメーが書けよwww
トリありでそれを言えねーなんてのは
やっぱりQZはクズの略称じゃねーかw
自信が無いんだろw
このチキン野郎ww

167:デフォルトの名無しさん
12/05/10 00:13:29.04
>>166
ふーん、かけないんだ‥‥‥

168:デフォルトの名無しさん
12/05/10 00:15:48.22
>>167
おいおいゴミクズ、
オメーが書けよカス
さっさとしろよwww
ノーガキ垂れてないでオメーが挙げろよアホwww
そんなんだから史ねとか言われんダよwwwwwwwwwwww


169:デフォルトの名無しさん
12/05/10 00:16:13.09
まったく>>161からのアホの自演はひどいな

170:デフォルトの名無しさん
12/05/10 00:16:46.21
>>161がなんかアホなこと言ってんぞww


171:デフォルトの名無しさん
12/05/10 00:19:53.76
>>165
これ?

C言語なら俺に聞け(入門編)Part 100
スレリンク(tech板:912番)

912 名前: ◆QZaw55cn4c [] 投稿日:2012/04/30(月) 15:17:54.11
>>909
煽るためには自演も辞さない。でも炎上のなかで新しい概念が浮かび上がるという収穫は捨てたもんじゃないでしょう?
炎上するだけで終わってしまう、という迷惑な結果が大半ではありますけれども。

それはともかく自演認定はわりと外れていますねえ、実のところ。

172:デフォルトの名無しさん
12/05/10 00:27:38.32
>>153
マジレスすると
> 関数 float func1(float x, int N) を定義
に違反

173:デフォルトの名無しさん
12/05/10 00:32:10.03
連レスすまん。

>>157
再帰という言葉は講義で出てきた?
出てきていないなら講義中の様子と提出されたコードですぐばれる

174: ◆QZaw55cn4c
12/05/10 01:28:55.25
>>172
ご指摘感謝。

>>150-151
以下に訂正いたします。提出してしまったらごめんなさいね。前のコードでも動作結果はあってますけれども。
URLリンク(ideone.com)
URLリンク(ideone.com)

それにしても盛況ですねえ。


175:デフォルトの名無しさん
12/05/10 01:29:39.67
>>150
URLリンク(ideone.com)

>>151
return (1 - pow(x, N + 1)) / (1 - x);

return (1 - pow(1/x, N + 1)) / (1 - 1/x);
に変更

176:デフォルトの名無しさん
12/05/10 02:12:24.68
最初の指摘は正しかったってことか

177:デフォルトの名無しさん
12/05/10 02:42:31.66
>>150
math.hを使わないなら、

float func1(float x, int N){
float r = 1;
while (N--) {
r *= x;
r += 1;
}
return r;
}

178:デフォルトの名無しさん
12/05/10 02:55:58.23
フィボナッチ数列を求める関数の呼び出しの深さを求めたいのですが
どのようにしたら良いのでしょうか。

int fib(int i)
{
printf( "enter fib(%d)\n",i);
if((i==0)||(i==1)){
return(1);
}else{
return(fib(i-1)+fib(i-2));
}
}


179:デフォルトの名無しさん
12/05/10 03:17:51.84
>>178

int fib(int i){
static int c = 0;
printf("count=%d¥n", ++c);

printf("enter fib(%d)¥n", i);
if ((i == 0) || (i == 1)) {
return (1);
} else {
return (fib(i - 1) + fib(i - 2));
}
}

180:デフォルトの名無しさん
12/05/10 03:23:38.56
>>179

すいません説明不足でした
呼び出した回数ではなくイメージとしてはこんな感じのものです
URLリンク(iup.2ch-library.com)

181:デフォルトの名無しさん
12/05/10 03:30:28.18
>>180
その図で言う深さって、i-1だろ?
図形を描画したいなら「svg」で検索。
あと、宿題なら>>1のテンプレートに従ってくれ。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch