1read 100read
2012年5月プログラム3: C/C++の宿題片付けます 157代目 (798) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Kinect ハック (972)
【バグ管理】 BTS使ってる?【追跡】 3 (900)
動的言語の問題点、大規模開発でテスト工数が増大 (110)
【アンチ】関数型言語は使えない【玩具】 2 (341)
マルチスレッドプログラミング相談室 その8 (978)
スレ立てるまでもない質問はここで 119匹目 (156)

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


1 :12/04/27 〜 最終レス :12/05/30
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。
【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

2 :
【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
http://pastebin.com/ ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 156代目
http://toro.2ch.net/test/read.cgi/tech/1328276597/

3 :
>>1
おつ

4 :
なんか小町を解いたくらいで偉そうにしている粘着がキモイんですけど・・・

5 :
解かずに偉そうにしてるやつよりはマシ

6 :
小町も解けないアホが必死w

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

8 :
こうやって、同レベルとかどっちもどっちとか言い出すのは決まって負けてる方なんだよなw

9 :
>>6
>小町も解けないアホ
いや、だから解いたんだが・・・キモッ 小町を解いたくらいで偉そうにしているガキwww

10 :
レベルの高い>>8が前スレの>>976を解くそうです

11 :
>>5
>解かずに偉そうにしてるやつ
いや、だから解いたんだが・・・何か俺が解いてないのに偉そうにしたとか言われて気分悪いわ。
別に偉そうにした覚えないし。誰と勘違いしてんだ?っつか、ここもID制にすべきだわ。

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

13 :
前スレ>>881を解いたのは3人
君はどれだい?

14 :
このスレで一番キモいのは、スレの最初で>>4みたいなことを言い出す奴

15 :
いや、どっちもキモイので消えてください

16 :
外科医が歯科医の専門知識をいくら持っても、外科医として上手くやっていけるのかね?
確かに共通する点はあれど、やはりそれぞれには専門知識、経験が必要だ。
基本、医者である以上、扱う部門が違えど人間を扱うし、小さな例を挙げると
滅菌、麻酔、注射、その他治療をするに当たって注意しなければならない器具の取り扱いや
人体の基本は共通しているから知っているだろう。物理だって法則などは
目で見たほうが手っ取り早いが、それらを数値化するにはやはり数学が必要だ。
しかし、アインシュタインは質問された時、光速度を知らなかった。
まぁ、プログラム言語を扱う基本知識は重要だし、効率の良いコードを書くには
柔軟な考え方も必要。少し外に出て頭を冷やしたらどうかね?
喫煙ばかりしてて血流が悪くなり、吸い終わった後の間違ったスッキリ感では駄目なのだよ。
ワトソン君。

17 :
またこのアホが湧く季節になったのか

18 :
前スレ >>976 画像ファイルフォーマット指定してほしい

19 :
春だなー(棒)

20 :
24ビットのBMPでいいらしい

21 :
>>15
そこまで言うなら、あなたが消えた方が手っ取り早いんでは?
このスレに何か未練でもありますか?

22 :
うわ、こいつほんとキモいな。
迷惑かかってんのわかんないの?

23 :
[2] あのね


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

24 :
>>21
Qっぽい特徴がプンプン臭ってるな

25 :
どうでもいいけど前スレ976の画像フォーマットまだー?

26 :
>>17 アホが自分だと自覚しろ

27 :
出題はまだかなぁ。

28 :
[1] 授業単元:QRコード変換
[2] 問題文:
打ち込んだテキストデータをQRコードの画像に変換するプログラムを作成せよ.
(QRコードの規格は公開されているので,それを組み合わせて作ればよい.
エラー訂正レベルを下げ,文字数を固定するなどして簡単なものから順に実装していけば良い.)
[3] 環境
 [3.1] OS: Windows vista
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語: C言語
[4] 期限: 5/7
宜しくお願いします。

29 :
規格調べんの面倒くさい

30 :
画像のフォーマットは?

31 :
>>30
24カラーbmpで

32 :
>>28
作るのはまだいいとしても、次の段階として読みとるのを作るだろうから相当しんどいな
傾いた画像とか、汚れで一部読めないとかwww

33 :
[1] 授業単元: udpプログラム
[2] 問題文(含コード&リンク): 計測機器が計測結果をUDP通信で連続的に送ってくる.このパケットを受信しprintfで表示しないさい.このとき送られてくるパケットのipアドレス,port,バッファサイズは変化がなくあらかじめ分かっているものとする.
[3] 環境
 [3.1] OS: Windows7 x64
 [3.2] コンパイラ名とバージョン: VC++ 2010express
 [3.3] 言語: C
[4] 期限: 今月中
[5] その他の制限: 最終的にMATLABのMEXに載ります
http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/socket.html
ここ見ながらやってるんですが,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 :
>>33
エラーメッセージの通りに直してみろ

35 :
>>34
返信ありがとうございます.
卒研で機械系の学生がCとwinsockの本にかじりつきながらやってるのでエラーメッセージの意味を理解出来てないです.
ここで問題になっている'sockaddr_in *' から 'const sockaddr *'はconst修飾子で変数の変更を制限しようとしているんですよね?(今調べました)
構造体を初期化しているmemsetやrecvsockaddr.sin_〜〜〜の値の代入に問題があるのでしょうか?
または,winsockのリファレンスによるとbindの2番目の引数は「ソケットアドレス構造体を指すポインタ」とあるので
sockaddr_in recvSock Addrへのポインタ構文がおかしいのでしょうか?

36 :
>>35
bindの第二引数、キャストしてる?

37 :
>>35
本見れなくても2chに書き込めるってことはインターネットでいくらでも調べられるじゃん
とりあえずbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えれば通る

38 :
>>36 ありがとうございます
(struct sockaddr_in *) &recvSockAddr
この構文を
(struct sockaddr *) &recvSockAddr
と記述すればいいという解釈でいいでしょうか?
この構文ですとvc++はエラーを吐かないんですが,コンパイルして実行しても
bindの返り値statusがSOCKET_ERRORになっています.
後のnumrcv=recvfrom(〜〜〜〜)文も-1の返り値を返しているのでソケットの作成かbindに
問題があると思うのですがわかりません...

39 :
適当にやってもロクな結果出んぞ

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

41 :
>>40
bindでのエラーってやつがコンパイルエラーのこと言ってるなら
エラーメッセージに型が違うから使いたいならキャストしろって書いてあるじゃん

42 :
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 :
それ自体は説明にあるとおり。

44 :
n変数多項式の代数処理プログラム作ってください.
必要機能は
・n変数多項式の足し算,引き算,掛け算,微分,積分,ただし,有理数係数でOK
・n変数多項式の既約分解
・多項式環の基本演算(上と同じ)と局所環がもとめられること
・代数的多様体上を定義可能,グラフィクスはオプション
とりあえずここまでお願いします.後すこしありますが,それはじぶんでつくります.

45 :
なんかベンツタダでくださいみたいな話に読めた

46 :
代わりに修士論文書いて、くらいか?

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

48 :
アドバイスなんてなかった

49 :
[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 :
nの最大値は?

51 :
nの最大値は52です。(トランプの枚数)

52 :
局所環以外は多項式を表すデータ構造さえ決めてしまえば簡単だろ.

53 :
>>52
微分、積分できる?

54 :
>>49
http://codepad.org/Dgc4ckXj

55 :
[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 :
>>55
int ryoukin(int x){
return x*10+500
}

57 :
>>56
つ unsigned

58 :
1分10円、1時間600円・・・たけぇ。

59 :
>>50
上限は整数型の上限に決まってんじゃん
計算結果が例えばunsignedの上限を超えないようなn,rの場合まで考えてあげればプロ
他に聞く前に考えろ

60 :
勝手に言っておいて自分で限定するとか、やるなら無限にしろよw

61 :
別に無限でもやれるならいいんだけどな
その扱い方さ 教えてくれよ

62 :
>>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 :
訂正
for(i=1;i<=n;i++)ret*=i;

64 :
スゲーな
factorial permutation combinationとか書かないのはwww
10ブっこんだだけで3628800、
階乗計算で手抜きしなきゃ
ギリ合格の80点はくれてやるよw

65 :
100万桁くらいで我慢しとけw

66 :
コテハン名乗る割には大したことない。
クズ同然。

67 :
あと掛け算ならi=1からやる必要ねーだろw
アホちゃうかwww
あ、アホかw

68 :
>>62みたいなやり方のことを考えてnの最大値を聞いてるのにな

69 :
桁が足りないならlong long intを使うか
演算の面倒な構造体なりポインタ使うなり
それこそdouble使えば?

70 :
プリミティブ型を使う義務なんてないのに。
クズコテハンはこの程度かw

71 :
素数判定プログラムをc/c++室に貼りました

72 :
c++じゃなくてcでしょ

73 :
すぐオーバーフローするもの貼っといて、使えば?じゃねーよw

74 :
結論:ゴミ製造機www

75 :
階乗は確かに順列、組み合わせで使われているけどさ
せめてパスカルの三角形とか工夫しろよ・・・

76 :
>>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 :
途中過程が重要じゃないなら、パスカルの三角形でええやろ・・・

78 :
>>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 :
あ、これはおもしろいな

80 :
>>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 :
[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 :
冗長につくってみた。
http://ideone.com/FPNS1

83 :
少しだけ訂正
http://ideone.com/OkAgQ

84 :
>>81
> sinx=x-x^3/3!+x^5/5!-x^7/7!
もちろんこの式が何展開と呼ぶかは習うんだよな?

85 :
はい!ゆうこりんのマン○リン展開です!

86 :
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
刻み幅0.001秒で微分方程式dx/dt+x=1(x(0)=0)
をオイラー法によって解くプログラムの作成。
[3] 環境
 [3.1] Linux
 [3.3] 言語:C
[4]期限:(5月5日土曜日22:00)
どうかよろしくお願いします。

87 :
後学のために聞くけどその微分方程式は一体どういう何の物理現象なんだ?

88 :
オイラの為に

89 :
自信ないけど作ってみた。
http://codepad.org/oxBATNjL

90 :
>>89
違うよ。全然違うよ。

91 :
>>90
>>86の回答頼む
俺、数学分からんからどうしようもない

92 :
>>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 :
deltaを即値では無く、変数とした理由は?

94 :
A. アホだから
A. 数値積分とオイラー法についてなんら分かっていないから
A. ノリ
A. 何となくかっこいいじゃん!

95 :
>>87 とか >>93 みたいなのは何なの?

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

97 :
>>96
アホはお前じゃないの?

98 :
>>95
コードを見る限り、deltaは普遍値だよな。
そんな疑問すら想像出来ないのか?

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] その他の制限なし
よろしくお願いします。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
テストしにくいコードをテストする方法教えて下さい (385)
IS<インフィニット・ストラトス>総合 (663)
★★ Java の宿題ここで答えます Part 71 ★★ (977)
Ruby で GUI するスレ (378)
つまりRubyってPerlの後続じゃん? (105)
【玄人】プロジェクト管理ツールApache Maven【2.0登場】 (549)
--log9.info------------------
【まったり】40歳以上でうつ病無職の人の雑談H (554)
【移転】メンタルを病んでいる郵政職員の方へPart26 (515)
死にたくなったらageるスレ 33 (1001)
40歳超えて不安障害・無職の人 −これからどうする3 (213)
モーニング娘。ヲタク(モーヲタ)のメンヘラその45 (668)
鬱・無気力しりとり(PART260) (323)
果てしない連想ゲームpart127 (792)
【笑撃】↑↓のスレタイを合体させて遊ぶスレ24 (383)
一人は嫌だPart157 (903)
【寝たきり】廃人Part.27【うつ病】 (829)
【心の】メンヘラのためのメル友募集スレ2【支え】 (1001)
◆猫とメンヘラー◆6匹目 (637)
【子どもに】秘密基地【戻ろう】 (593)
メンヘラでも毎日幸せな人 (272)
メンヘラ専用SNS「メンヘル.COM」Part27 (616)
【長崎の】まったり休憩所【メンヘルさん】 (953)
--log55.com------------------
【悲報】安倍総理が何故か敵視し、批判した朝日マスク 「朝日新聞とメーカが協力し善意で市民に販売提供したい」という企画だった [166864446]
三洋電機お粗末社員 女性わいせつ画像流出 [513871482]
世界の終末に相応しい音楽をあげてけ [328733795]
コロナで死んだ人の葬式で 6人がコロナに感染 全員死亡 [485983549]
ローマ教皇激おこ「新型コロナは自然の破壊を無視し続けた人類の報いだ」 [438975116]
スピッツ一の名作は「ハチミツ」か「三日月ロック」か 今夜決着をつけるぞ [963243619]
宇多田ヒカル「First loveの歌詞で描いたのは、誰もが一番最初に愛情を求める相手 つまり"母親"です」 [963243619]
【悲報】東京、自粛崩壊で感染にブーストをかける 集まる所が繁華街から湘南・鎌倉に変わっただけ [526594886]