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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。 >>2以降にあります。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
2デフォルトの名無しさん:2012/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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
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デフォルトの名無しさん:2012/04/27(金) 18:21:42.61
>>1
おつ
4デフォルトの名無しさん:2012/04/27(金) 18:24:30.60
なんか小町を解いたくらいで偉そうにしている粘着がキモイんですけど・・・
5デフォルトの名無しさん:2012/04/27(金) 18:36:38.16
解かずに偉そうにしてるやつよりはマシ
6デフォルトの名無しさん:2012/04/27(金) 18:37:06.20
小町も解けないアホが必死w
7デフォルトの名無しさん:2012/04/27(金) 19:15:33.09
 発 者 同         . 。_   ____           争
 生 同 .じ     .    /´ |  (ゝ___)          い
 .し 士 .レ      .__/'r-┴<ゝi,,ノ   ro、      は、
 .な で .ベ      ∠ゝ (ゝ.//`   ./`|  }⌒j     
 .い し .ル        } ⌒ /`ヽ、_∠l,ノ ・ヽ´
 .! ! か の       /  ´..:.} >、、___,  .r、 ソ、`\
             /   ..:.:.}   /   |∨ ` ̄
            /   ..:.:./    |   丶
           / _、 ..:.:.:.{    .{.:.:.   \
          {   ..:Y  .ゝ、   {.:.:.:.:.    ヽ
          |、  ..:/ 丿 .:〉   >.- ⌒  .  ヽ
          / {. ..:./ ソ ..:./  .(    ..:.:.:`  ..:}
         ./..:.:}.:.:./ ヘ、 ..:./   .\ ..:.:r_,ノ、.:.:}
        ./..:.:/|.:/   {.:./     X.:.:}.}   X X
        /..:.:/ .}.:|    }:/       .Y丶ヽ  Y.:Y
  . __/.:/ { }  《.〈、     _,,__>.:》丶   Y.:\
  /.:.:.:.:.::/   !.:.:ゝ  ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ   \.: ̄>
8デフォルトの名無しさん:2012/04/27(金) 19:23:21.90
こうやって、同レベルとかどっちもどっちとか言い出すのは決まって負けてる方なんだよなw
9デフォルトの名無しさん:2012/04/27(金) 19:30:19.65
>>6
>小町も解けないアホ
いや、だから解いたんだが・・・キモッ 小町を解いたくらいで偉そうにしているガキwww
10デフォルトの名無しさん:2012/04/27(金) 19:30:43.53
レベルの高い>>8が前スレの>>976を解くそうです
11デフォルトの名無しさん:2012/04/27(金) 19:31:37.22
>>5
>解かずに偉そうにしてるやつ
いや、だから解いたんだが・・・何か俺が解いてないのに偉そうにしたとか言われて気分悪いわ。
別に偉そうにした覚えないし。誰と勘違いしてんだ?っつか、ここもID制にすべきだわ。
12デフォルトの名無しさん:2012/04/27(金) 19:34:52.53
>>10 みたいなことを言う奴も、C言語であれこれ解けるのがハイレベルだと思っているんだろうね。
それぞれ専門知識が必要になる場合は、もはや言語を扱うスキル、効率の良いアルゴリズムを
ある程度知っているとは話は別。何でも出来れば良いってもんじゃないし、使わない知識を無駄に
溜め込んでも意味ないんだわ。
13デフォルトの名無しさん:2012/04/27(金) 19:35:02.87
前スレ>>881を解いたのは3人
君はどれだい?
14デフォルトの名無しさん:2012/04/27(金) 19:43:31.32
このスレで一番キモいのは、スレの最初で>>4みたいなことを言い出す奴
15デフォルトの名無しさん:2012/04/27(金) 19:46:51.97
いや、どっちもキモイので消えてください
16デフォルトの名無しさん:2012/04/27(金) 20:00:32.64
外科医が歯科医の専門知識をいくら持っても、外科医として上手くやっていけるのかね?
確かに共通する点はあれど、やはりそれぞれには専門知識、経験が必要だ。
基本、医者である以上、扱う部門が違えど人間を扱うし、小さな例を挙げると
滅菌、麻酔、注射、その他治療をするに当たって注意しなければならない器具の取り扱いや
人体の基本は共通しているから知っているだろう。物理だって法則などは
目で見たほうが手っ取り早いが、それらを数値化するにはやはり数学が必要だ。
しかし、アインシュタインは質問された時、光速度を知らなかった。

まぁ、プログラム言語を扱う基本知識は重要だし、効率の良いコードを書くには
柔軟な考え方も必要。少し外に出て頭を冷やしたらどうかね?
喫煙ばかりしてて血流が悪くなり、吸い終わった後の間違ったスッキリ感では駄目なのだよ。
ワトソン君。
17デフォルトの名無しさん:2012/04/27(金) 20:25:22.07
またこのアホが湧く季節になったのか
18デフォルトの名無しさん:2012/04/27(金) 20:36:12.59
前スレ >>976 画像ファイルフォーマット指定してほしい
19デフォルトの名無しさん:2012/04/27(金) 21:02:58.04
春だなー(棒)
20デフォルトの名無しさん:2012/04/27(金) 21:23:54.97
24ビットのBMPでいいらしい
21デフォルトの名無しさん:2012/04/27(金) 21:41:15.39
>>15
そこまで言うなら、あなたが消えた方が手っ取り早いんでは?
このスレに何か未練でもありますか?
22デフォルトの名無しさん:2012/04/28(土) 01:58:43.34
うわ、こいつほんとキモいな。
迷惑かかってんのわかんないの?
23デフォルトの名無しさん:2012/04/28(土) 02:32:59.65
[2] あのね











おしっこシィーーーーーッ!
24デフォルトの名無しさん:2012/04/28(土) 04:36:06.83
>>21
Qっぽい特徴がプンプン臭ってるな
25デフォルトの名無しさん:2012/04/28(土) 10:05:06.21
どうでもいいけど前スレ976の画像フォーマットまだー?
26デフォルトの名無しさん:2012/04/28(土) 10:43:19.86
>>17 アホが自分だと自覚しろ
27デフォルトの名無しさん:2012/04/28(土) 11:44:36.18
出題はまだかなぁ。
28デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/04/28(土) 15:02:06.83
規格調べんの面倒くさい
30デフォルトの名無しさん:2012/04/28(土) 18:39:14.13
画像のフォーマットは?
31デフォルトの名無しさん:2012/04/28(土) 18:57:04.19
>>30
24カラーbmpで
32デフォルトの名無しさん:2012/04/28(土) 20:21:22.10
>>28
作るのはまだいいとしても、次の段階として読みとるのを作るだろうから相当しんどいな
傾いた画像とか、汚れで一部読めないとかwww
33 ◆qr00w3BQO6 :2012/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に載ります


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デフォルトの名無しさん:2012/04/29(日) 13:00:29.18
>>33
エラーメッセージの通りに直してみろ
35 ◆qr00w3BQO6 :2012/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デフォルトの名無しさん:2012/04/29(日) 14:30:11.63
>>35
bindの第二引数、キャストしてる?
37デフォルトの名無しさん:2012/04/29(日) 14:33:42.97
>>35
本見れなくても2chに書き込めるってことはインターネットでいくらでも調べられるじゃん
とりあえずbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えれば通る
38 ◆qr00w3BQO6 :2012/04/29(日) 14:45:51.22
>>36 ありがとうございます
(struct sockaddr_in *) &recvSockAddr
この構文を
(struct sockaddr *) &recvSockAddr
と記述すればいいという解釈でいいでしょうか?

この構文ですとvc++はエラーを吐かないんですが,コンパイルして実行しても
bindの返り値statusがSOCKET_ERRORになっています.
後のnumrcv=recvfrom(〜〜〜〜)文も-1の返り値を返しているのでソケットの作成かbindに
問題があると思うのですがわかりません...
39デフォルトの名無しさん:2012/04/29(日) 15:17:35.81
適当にやってもロクな結果出んぞ
40 ◆qr00w3BQO6 :2012/04/29(日) 15:56:25.61
>>39
>>37さんが仰られている通りbindの二番目の引数(struct sockaddr_in *)を(struct sockaddr *)に変えることで
プログラムは回りました,しかし,bindでのエラー原因がわからず手をつけられずにいます.
どこか見落としているところがあるのでしょうか?
41デフォルトの名無しさん:2012/04/29(日) 19:49:17.16
>>40
bindでのエラーってやつがコンパイルエラーのこと言ってるなら
エラーメッセージに型が違うから使いたいならキャストしろって書いてあるじゃん
42 ◆qr00w3BQO6 :2012/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デフォルトの名無しさん:2012/04/29(日) 20:15:48.47
それ自体は説明にあるとおり。
44デフォルトの名無しさん:2012/05/01(火) 07:40:41.89
n変数多項式の代数処理プログラム作ってください.
必要機能は
・n変数多項式の足し算,引き算,掛け算,微分,積分,ただし,有理数係数でOK
・n変数多項式の既約分解
・多項式環の基本演算(上と同じ)と局所環がもとめられること
・代数的多様体上を定義可能,グラフィクスはオプション

とりあえずここまでお願いします.後すこしありますが,それはじぶんでつくります.
45デフォルトの名無しさん:2012/05/01(火) 11:56:49.14
なんかベンツタダでくださいみたいな話に読めた
46デフォルトの名無しさん:2012/05/01(火) 13:14:18.17
代わりに修士論文書いて、くらいか?
47 ◆qr00w3BQO6 :2012/05/01(火) 18:29:46.49
>>42
skypeにポートが使われていたのが問題でした.
その他にも問題が多数出てきましたが自己解決の末,無事作成できました.
アドバイスの数々ありがとうございました.
48デフォルトの名無しさん:2012/05/01(火) 19:42:16.11
アドバイスなんてなかった
49デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/01(火) 23:58:39.61
nの最大値は?
51デフォルトの名無しさん:2012/05/02(水) 00:01:52.05
nの最大値は52です。(トランプの枚数)
52デフォルトの名無しさん:2012/05/02(水) 00:05:16.20
局所環以外は多項式を表すデータ構造さえ決めてしまえば簡単だろ.
53デフォルトの名無しさん:2012/05/02(水) 01:41:50.97
>>52
微分、積分できる?
54みならい ◆yPB1OBVvQhZo :2012/05/02(水) 03:43:39.21
55デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/02(水) 07:47:46.83
>>55
int ryoukin(int x){
return x*10+500
}
57デフォルトの名無しさん:2012/05/02(水) 08:19:35.78
>>56
つ unsigned
58デフォルトの名無しさん:2012/05/02(水) 12:28:45.95
1分10円、1時間600円・・・たけぇ。
59デフォルトの名無しさん:2012/05/02(水) 13:50:19.15
>>50
上限は整数型の上限に決まってんじゃん
計算結果が例えばunsignedの上限を超えないようなn,rの場合まで考えてあげればプロ
他に聞く前に考えろ
60デフォルトの名無しさん:2012/05/02(水) 14:56:21.64
勝手に言っておいて自分で限定するとか、やるなら無限にしろよw
61デフォルトの名無しさん:2012/05/02(水) 19:06:54.60
別に無限でもやれるならいいんだけどな
その扱い方さ 教えてくれよ
62NAS6 ◆n3AmnVhjwc :2012/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));
}
63NAS6 ◆n3AmnVhjwc :2012/05/02(水) 20:13:18.00
訂正

for(i=1;i<=n;i++)ret*=i;
64デフォルトの名無しさん:2012/05/02(水) 20:40:46.99
スゲーな
factorial permutation combinationとか書かないのはwww

10ブっこんだだけで3628800、
階乗計算で手抜きしなきゃ
ギリ合格の80点はくれてやるよw
65デフォルトの名無しさん:2012/05/02(水) 21:53:13.92
100万桁くらいで我慢しとけw
66デフォルトの名無しさん:2012/05/02(水) 21:54:16.46
コテハン名乗る割には大したことない。
クズ同然。
67デフォルトの名無しさん:2012/05/02(水) 22:09:31.10
あと掛け算ならi=1からやる必要ねーだろw
アホちゃうかwww
あ、アホかw
68デフォルトの名無しさん:2012/05/02(水) 22:12:20.09
>>62みたいなやり方のことを考えてnの最大値を聞いてるのにな
69NAS6 ◆n3AmnVhjwc :2012/05/02(水) 22:17:14.77
桁が足りないならlong long intを使うか
演算の面倒な構造体なりポインタ使うなり

それこそdouble使えば?

70デフォルトの名無しさん:2012/05/02(水) 22:18:52.16
プリミティブ型を使う義務なんてないのに。
クズコテハンはこの程度かw
71NAS6 ◆n3AmnVhjwc :2012/05/02(水) 22:20:37.48
素数判定プログラムをc/c++室に貼りました
72NAS6 ◆n3AmnVhjwc :2012/05/02(水) 22:21:54.80
c++じゃなくてcでしょ
73デフォルトの名無しさん:2012/05/02(水) 22:32:57.99
すぐオーバーフローするもの貼っといて、使えば?じゃねーよw
74デフォルトの名無しさん:2012/05/02(水) 23:07:42.68
結論:ゴミ製造機www
75デフォルトの名無しさん:2012/05/02(水) 23:38:42.25
階乗は確かに順列、組み合わせで使われているけどさ
せめてパスカルの三角形とか工夫しろよ・・・
76デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/03(木) 00:08:16.57
途中過程が重要じゃないなら、パスカルの三角形でええやろ・・・
78デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/03(木) 01:56:00.12
あ、これはおもしろいな
80デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/04(金) 00:19:38.64
冗長につくってみた。
http://ideone.com/FPNS1
83デフォルトの名無しさん:2012/05/04(金) 00:21:11.66
少しだけ訂正
http://ideone.com/OkAgQ
84デフォルトの名無しさん:2012/05/04(金) 00:22:17.27
>>81
> sinx=x-x^3/3!+x^5/5!-x^7/7!
もちろんこの式が何展開と呼ぶかは習うんだよな?
85デフォルトの名無しさん:2012/05/04(金) 00:54:34.19
はい!ゆうこりんのマン○リン展開です!
86デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/04(金) 10:16:48.75
後学のために聞くけどその微分方程式は一体どういう何の物理現象なんだ?
88デフォルトの名無しさん:2012/05/04(金) 13:22:38.73
オイラの為に
89デフォルトの名無しさん:2012/05/04(金) 13:28:38.19
自信ないけど作ってみた。
http://codepad.org/oxBATNjL
90デフォルトの名無しさん:2012/05/04(金) 20:03:33.31
>>89
違うよ。全然違うよ。
91デフォルトの名無しさん:2012/05/04(金) 20:36:51.66
>>90
>>86の回答頼む
俺、数学分からんからどうしようもない
92デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/04(金) 21:10:09.88
deltaを即値では無く、変数とした理由は?
94デフォルトの名無しさん:2012/05/04(金) 21:13:26.89
A. アホだから
A. 数値積分とオイラー法についてなんら分かっていないから
A. ノリ
A. 何となくかっこいいじゃん!
95デフォルトの名無しさん:2012/05/04(金) 21:18:16.66
>>87 とか >>93 みたいなのは何なの?
96デフォルトの名無しさん:2012/05/04(金) 21:22:27.02
>>95
何なのって
お前は気にならないの?

dx/dyじゃない、dx/dtになってて
しかもわざわざ刻み幅を「秒」で指定してるんだぜ
アホの一つ覚えでそのまんまにプログラミングしてりゃあいいってモンでも無いだろ
97デフォルトの名無しさん:2012/05/04(金) 21:29:40.67
>>96
アホはお前じゃないの?
98デフォルトの名無しさん:2012/05/04(金) 22:47:55.53
>>95
コードを見る限り、deltaは普遍値だよな。

そんな疑問すら想像出来ないのか?
99デフォルトの名無しさん:2012/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] その他の制限なし

よろしくお願いします。
10099:2012/05/05(土) 22:52:59.31
補足です、a,b,c,dは整数で構いません。
よろしくお願いします。
101デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/06(日) 00:15:25.59
てst
103 ◆mHohOs/xSFyi :2012/05/06(日) 00:22:19.27
[1] 授業単元:院試過去問(データ構造とアルゴリズム?)
[2]問題文は次のレスで
[3-5]無指定、無期限
104デフォルトの名無しさん:2012/05/06(日) 00:32:46.95
105103 ◆mHohOs/xSFyi :2012/05/06(日) 00:35:19.67
うまく書き込めずリライトしました。すみません。

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

[3-5]環境無指定(出題はCだが大意があっていればC++でも可)、無期限
106デフォルトの名無しさん:2012/05/06(日) 00:43:44.21
お前らは
http://www.i.u-tokyo.ac.jp/edu/course/cs/pdf/2010computer.pdf
を全部解ける?
解けるなら解いてみて
107デフォルトの名無しさん:2012/05/06(日) 00:48:39.60
>>105
メモリ確保しながらループ回すんじゃないの?
108デフォルトの名無しさん:2012/05/06(日) 00:52:00.00
作った先生がなんとなくわかっちゃうのがおもしろいな
俺もそろそろ院試対策始めないと
109デフォルトの名無しさん:2012/05/06(日) 00:53:27.64
>problem booklet
いきなりフイタw
110103 ◆mHohOs/xSFyi :2012/05/06(日) 00:59:20.03
>>107
bintree中のポインタを変更しながら、の意味がよくわからなかったのですが
基本whileで回すとして
探索が終わった枝に
left = nullを代入して両方nullだったら探索終了、ループ続行
ってやればよさそうですね

皆様ありがとうございました。
111103 ◆mHohOs/xSFyi :2012/05/06(日) 01:13:51.30
ダメだ帰り道を考えてませんでした。
leftを退避させて親ノードへのポインタをleftに入れる、という方向で考えてみます
112デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/06(日) 01:35:56.97
>>106
制限時間内だと1/3〜1/2くらいしか解けないと思う
ってかまず用語の意味が分からないwww
114デフォルトの名無しさん:2012/05/06(日) 01:45:35.17
1/2ちょっとで大体受かるそうな
115defo:2012/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デフォルトの名無しさん:2012/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 :2012/05/06(日) 09:46:20.38
>>116
>c<d<200
118デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/06(日) 11:44:35.61
>>105
>>107
C++でもいいんだよね。
幅優先でやった。これキューも新たなデータ構造扱いか?

http://ideone.com/Vyf5m
120119:2012/05/06(日) 11:54:05.23
やっぱキューはおもいっきり駄目だねw
121デフォルトの名無しさん:2012/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;
}
122121:2012/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デフォルトの名無しさん:2012/05/06(日) 17:46:38.77
>>101
>>116

ありがとうございました。
124デフォルトの名無しさん:2012/05/07(月) 02:16:29.85
>>122
大変助かりました。
ありがとうございました!
125デフォルトの名無しさん:2012/05/07(月) 23:05:22.81
共に入社した同期に10年ぶりにあった
話がはずむうちに、彼は「パチでもいこうか」と右手を回すゼスチャーをし、おれをさそった。

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

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

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

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

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

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

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

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

嫌なヤツだと思われるだろうが、本当にそう思う
126デフォルトの名無しさん:2012/05/07(月) 23:13:00.27
自己紹介乙。
次どーぞ。
127デフォルトの名無しさん:2012/05/08(火) 09:24:21.90
暇だから、行くんじゃね?
問題:B地区とビーチクの発音の違いを発音記号で表せ。
128デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/08(火) 21:41:13.25
4行目の「利用時間y円」は「利用料金y円」です。
130デフォルトの名無しさん:2012/05/08(火) 21:56:41.88
概出
131デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/08(火) 22:29:59.56
>>131
読み込むって何処から?
134デフォルトの名無しさん:2012/05/08(火) 23:28:29.19
135デフォルトの名無しさん:2012/05/08(火) 23:30:30.94
>>132
>double func(double x,double y, double z)
>引数と関数のデータ型は整数型。

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

いや、ないか
137デフォルトの名無しさん:2012/05/09(水) 00:10:54.39
>>135>>136
戻り値の事だと思います。
138デフォルトの名無しさん:2012/05/09(水) 00:22:18.08
え?
139デフォルトの名無しさん:2012/05/09(水) 07:56:56.01
>>128
この問題>>55にも出題されていたがせめて、
「1ヵ月の利用料金は、基本料金500円と1分当りの利用時間10円の従量料金の合計である。」とでも
改めて書き込むべきだったろう。変な日本語に嫌気して、回答してくれなかった人もいると思う。
140デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/09(水) 08:26:01.18
>>134
ありがとうございました!
たすかります!!
142デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/09(水) 14:17:38.34
goukei = 0
goukei = goukei + ten;
printf("%d名の合計点は%dです。\n", n, goukei)
146デフォルトの名無しさん:2012/05/09(水) 15:41:06.26
>>145
ありがとうございます。助かりました…!!!
147デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/09(水) 16:48:54.18
149デフォルトの名無しさん:2012/05/09(水) 21:53:08.74
150デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/09(水) 22:54:51.73
>>151
残り時間あと1時間チョイか
難儀なモンだ
153 ◆QZaw55cn4c :2012/05/09(水) 23:10:48.45
154 ◆QZaw55cn4c :2012/05/09(水) 23:14:49.58
155デフォルトの名無しさん:2012/05/09(水) 23:27:09.23
>>153 >>154
ありがとうございます
156デフォルトの名無しさん:2012/05/09(水) 23:33:36.92
>>155
これを提出するのはやめといたほうがいいぞ、答えはあうけれども
157デフォルトの名無しさん:2012/05/09(水) 23:42:26.90
>>156
なぜですか?
提出しちゃったんですけど…
158デフォルトの名無しさん:2012/05/09(水) 23:45:02.11
>>157
このスレを5くらい遡って見て
コイツがどういうクソクズコードを書いているかを見りゃあいい
ホカのスレでも「来んなよ!!」とか言われているし

簡単に言えば出来上がりのコードがゴミ
159デフォルトの名無しさん:2012/05/10(木) 00:00:34.86
>>158
さかのぼらなくてもここをみるだけでいい
http://toro.2ch.net/test/read.cgi/tech/1313183984/
160デフォルトの名無しさん:2012/05/10(木) 00:02:12.06
>>157
かわいそうに
先生から動作を質問されたらどうするの?
161デフォルトの名無しさん:2012/05/10(木) 00:04:52.59
>>158
>>153-154 よりもましなコードを書いてみろ
162デフォルトの名無しさん:2012/05/10(木) 00:05:43.32
>>161
おいおいトリ外して自演かよw
163デフォルトの名無しさん:2012/05/10(木) 00:07:47.23
>>162
自演認定ご苦労
164デフォルトの名無しさん:2012/05/10(木) 00:09:15.46
>>163
おいおいクソがまたまたトリ外してクソ自演かよwww
やっぱりQZはクズの略称だなwww
やっぱりカズゴミじゃねーかw
165デフォルトの名無しさん:2012/05/10(木) 00:10:47.11
>>164
>>153-154よりましなのがかけんのならだまっててくれんか?
166デフォルトの名無しさん:2012/05/10(木) 00:12:09.23
>>165
オメーが書けよwww
トリありでそれを言えねーなんてのは
やっぱりQZはクズの略称じゃねーかw
自信が無いんだろw
このチキン野郎ww
167デフォルトの名無しさん:2012/05/10(木) 00:13:29.04
>>166
ふーん、かけないんだ‥‥‥
168デフォルトの名無しさん:2012/05/10(木) 00:15:48.22
>>167
おいおいゴミクズ、
オメーが書けよカス
さっさとしろよwww
ノーガキ垂れてないでオメーが挙げろよアホwww
そんなんだから史ねとか言われんダよwwwwwwwwwwww
169デフォルトの名無しさん:2012/05/10(木) 00:16:13.09
まったく>>161からのアホの自演はひどいな
170デフォルトの名無しさん:2012/05/10(木) 00:16:46.21
>>161がなんかアホなこと言ってんぞww
171デフォルトの名無しさん:2012/05/10(木) 00:19:53.76
>>165
これ?

C言語なら俺に聞け(入門編)Part 100
http://toro.2ch.net/test/read.cgi/tech/1333108892/912

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

それはともかく自演認定はわりと外れていますねえ、実のところ。
172デフォルトの名無しさん:2012/05/10(木) 00:27:38.32
>>153
マジレスすると
> 関数 float func1(float x, int N) を定義
に違反
173デフォルトの名無しさん:2012/05/10(木) 00:32:10.03
連レスすまん。

>>157
再帰という言葉は講義で出てきた?
出てきていないなら講義中の様子と提出されたコードですぐばれる
174 ◆QZaw55cn4c :2012/05/10(木) 01:28:55.25
>>172
ご指摘感謝。

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

それにしても盛況ですねえ。
175デフォルトの名無しさん:2012/05/10(木) 01:29:39.67
>>150
ttp://ideone.com/P49C4

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

return (1 - pow(1/x, N + 1)) / (1 - 1/x);
に変更
176デフォルトの名無しさん:2012/05/10(木) 02:12:24.68
最初の指摘は正しかったってことか
177デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/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デフォルトの名無しさん:2012/05/10(木) 03:23:38.56
>>179

すいません説明不足でした
呼び出した回数ではなくイメージとしてはこんな感じのものです
http://iup.2ch-library.com/i/i0630531-1336587786.jpg
181デフォルトの名無しさん:2012/05/10(木) 03:30:28.18
>>180
その図で言う深さって、i-1だろ?
図形を描画したいなら「svg」で検索。
あと、宿題なら>>1のテンプレートに従ってくれ。
182デフォルトの名無しさん:2012/05/10(木) 06:03:03.06
質問の意図や前提をくみ取れない糞質問
が多い。それで回答者が逆質問をしたり
悪口を言ったりする。それを前もって思
い描く力が絶望的に欠如してるに違いない。
スーパーハッカーだけが意図を理解できる。
レアなそういう神が颯爽と登場する予感。
183デフォルトの名無しさん:2012/05/10(木) 08:23:42.21
f(n) の時 呼び出しの深さは n-1 。キっつ
184デフォルトの名無しさん:2012/05/10(木) 13:18:36.12
>>178
int fib(int i, int hukasa)
{
printf( "enter fib(%d),hukasa(%d)\n",i, hukasa);
if((i==0)||(i==1)){
return(1);
}else{
return(fib(i-1, hukasa+1)+fib(i-2, hukasa+1));
}
}
185デフォルトの名無しさん:2012/05/10(木) 16:39:20.61
#include <stdio.h>

int main(void)
{
int a, b, c; /* 整数変数a,b,cの宣言 */

printf("身長を入力してください");
scanf("%d", &a);
printf("体重を入力してください");
scanf("%d", &b);

printf( "%d-%dは %d\n", a,b,c); /* 表示 */
return 0;
}

こちらのコードを少し変えて
身長と体重の変数(どちらも倍精度実数変数)を宣言
身長と体重を入力し、画面に表示する
身長と体重の表示はprintfを1回使用する
身長と体重は小数点以下1桁を表示させる
適宜コメントを書く

【実行結果例】
身長を入力してください(cm)?170.5
体重を入力してください(cm)?65.5

慎重派170.5で、体重は65.5です。
という感じにしたいのですがよければ教えてください!
186デフォルトの名無しさん:2012/05/10(木) 16:44:25.87
テンプレ書けない、かわいそうな子多いね
187デフォルトの名無しさん:2012/05/10(木) 16:52:28.61
きっとテストも名前欄への記入とか忘れちゃうかわいそうな子なんだろ
うっかり0点とか取りそうな勢いDA☆
188デフォルトの名無しさん:2012/05/10(木) 17:13:38.71
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
#include <stdio.h>

int main(void)
{
int a, b, c; /* 整数変数a,b,cの宣言 */

printf("身長を入力してください");
scanf("%d", &a);
printf("体重を入力してください");
scanf("%d", &b);

printf( "%d-%dは %d\n", a,b,c); /* 表示 */
return 0;
}
こちらのコードを少し変えて
身長と体重の変数(どちらも倍精度実数変数)を宣言。身長と体重を入力し、画面に表示する。身長と体重の表示はprintfを1回使用する。身長と体重は小数点以下1桁を表示させる。適宜コメントを書く。
【実行結果例】
身長を入力してください(cm)?170.5
体重を入力してください(cm)?65.5
身長は170.5で、体重は65.5です。
[3] 環境:
[3.1] OS:Windows7
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: c++
[4] 期限: 2012/05/11 5:00PM
スレ汚しすみませんでした。
189デフォルトの名無しさん:2012/05/10(木) 22:23:32.25
1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/kGj9u7Sm

利用時間x分を入力すると、上記にあるプログラムのサービスのうち、最も安いサービスの名称とその料金を計算し出力するプログラムを関数charge1、 charge2、 charge3を利用して作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月11日
[5] main関数側でサービス1、2、3の各料金を関数関数charge1、 charge2、 charge3を利用して計算して、比較する。
よろしくお願いします。
190デフォルトの名無しさん:2012/05/10(木) 22:29:57.61
[1] 授業単元:プログラミング
[2] 問題文:
1つの整数n(但しn>=1)を入力するとn!を返すseki関数を作成する。
そしてn枚のカードからr枚のカードを選ぶ組み合わせを計算するプログラムを作成しなさい。
但し、n≧1、r≧1、n≧rを前提とする。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月11日 13:00
よろしくお願いします。
191デフォルトの名無しさん:2012/05/10(木) 23:45:29.54
>>190
なんかどっかで見たな
今はこういうのが流行ってるのか?

n!を返すseki関数はカンタンにオーバーフローするぞ、
それを実感するためのありがたーーい課題か?
そういう教育意図があるなら、
すぐにオーバーフローするゴミプログラムをプレゼントしよう
192デフォルトの名無しさん:2012/05/10(木) 23:50:09.88
面白いこと書いたら、どれかに答えてもいいよw
193デフォルトの名無しさん:2012/05/10(木) 23:51:49.95
194デフォルトの名無しさん:2012/05/11(金) 00:00:42.28
>>190のは>>49にあるな
やっぱりこの手の問題は新入生向けのラクな課題なのかな?
195デフォルトの名無しさん:2012/05/11(金) 00:10:34.21
>>194
>>49とは違って、階乗を求める関数を使うことが強制されている点が異なるな。
196デフォルトの名無しさん:2012/05/11(金) 00:12:39.82
197 ◆QZaw55cn4c :2012/05/11(金) 00:17:07.73
>>190
http://ideone.com/5YhRr
>>191-192
口だけのへたれ。くやしかったら >>190 よりも頭のいいコードかいてみろ
198192:2012/05/11(金) 00:23:06.37
なんで俺がまきこまれるの?
199 ◆QZaw55cn4c :2012/05/11(金) 00:25:00.27
>>198
Q は東郷併発だ、スルーしろ
200デフォルトの名無しさん:2012/05/11(金) 00:26:42.35
>>197
頭悪い
201デフォルトの名無しさん:2012/05/11(金) 00:39:52.62
sekiを前提にしたら
seki(n) / seki(r) / seki(n - r);
にするのが普通
202デフォルトの名無しさん:2012/05/11(金) 00:47:25.75
ようやくありがたーーーーい()プログラムがお出ましになった
素晴らしい
まさに芸術だ
QZはテンチャイだ
この課題の意図を存分にお捉えになられたムダのないスリームなコードをお書きになる
いやはやオレの出る幕じゃねーなw
203デフォルトの名無しさん:2012/05/11(金) 01:43:20.13
>>197
いいからお前はそれが割り切れることを証明しろよw
204デフォルトの名無しさん:2012/05/11(金) 02:10:32.45
Qは本当にクズそのものだな
205デフォルトの名無しさん:2012/05/11(金) 02:34:12.12
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://codepad.org/CGHSc4Yi
[3] 環境
 [3.1] OS: Ubuntu
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: c
[4] 期限: 12日
[5] 迷路探索なのですが、探索関数内で最短経路の出力の仕方が分からず困ってます。
現在余分な探索経路も出力されてしまう状況です。
206デフォルトの名無しさん:2012/05/11(金) 03:26:55.39
>>188
http://ideone.com/76ywO
http://ideone.com/f1tqt
※誤字修正バージョン
学校の授業レベルだとすればコメント入れろ系は相当厄介。
ココに依頼すること自体相当危険だと自覚すべき。
ちゃんとチェックする先生の場合即ばれるのでコメントだけは自力で何とかする事。
おそらくint型だけではなくdouble型もprintfやscanfで入出力できるようにしましょうねという意図なのだろうとは思うけど。
ideoneの出力があなたの出力結果と一致していないのはideone側の仕様です。

>>2
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
ここを書かない人がとにかく多い。
190は三項演算や前置デクリメントを知っているのだろうか…
207デフォルトの名無しさん:2012/05/11(金) 04:47:52.59
>>205
行き止まりを壁とみなして予め埋めてしまう、という強引な方法。
http://codepad.org/uopijHqt
208 ◆QZaw55cn4c :2012/05/11(金) 08:10:44.26
>>206
>ここを書かない人がとにかく多い。
>190は三項演算や前置デクリメントを知っているのだろうか…

お前馬鹿か?
習いたての頃の思考パターン、Cのすべてを理解しているわけではないという限られた情報下での行動パターンを想像できないのか?

そういうお前のような奴を「専門馬鹿」という。
お前のような初学者を見下す人間が、やがては制御不能な発電装置を事故らせて責任転嫁に終始するんだ。

お前は世の中にとって害だ。方針転換できないのならはやく死ね。
209デフォルトの名無しさん:2012/05/11(金) 10:48:08.14
>>205
visitの最後のprintfの行を
if(*goal) printf("(%d,%d)",ri[sp],rj[sp]);
に変えればとりあえずの答えは表示されるかな(最短かどうかは知らない)
riとrjは使ってないから
if(*goal) printf("(%d,%d)",i,j);
でもよさそうだが
210デフォルトの名無しさん:2012/05/11(金) 12:46:23.47
>>206
ありがとうございました!
211デフォルトの名無しさん:2012/05/12(土) 11:45:26.56
1] 授業単元:プログラミング演習
[2] 問題文:
購入金額1万円以上になると送料500円が無料になり、購入金額3万円以上になると送料無料、代金1割引になる。
単価5千円の品物Aと、単価3千円の品物Bの購入数をそれぞれ入力すると、値段を返すnedan関数を作成。
そして品物Aと品物Bを入力すると代金を計算し、出力するプログラムをmain関数からnedan関数を呼び出す形で作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月13日
[5] nedan関数は、引数が品物Aと品物Bの個数を表す2つの整数型変数、戻り値は代金を表す整数型変数。
よろしくお願いします。
212デフォルトの名無しさん:2012/05/12(土) 12:02:03.19
#include <stdio.h>

int nedan(int a, int b)
{
int sum = a * 5000 + b * 3000;

if(sum < 10000) sum += 500;
else if(sum >= 30000) sum *= 0.9;

return sum;
}

int main(void)
{
int a, b;

scanf("%d%d", &a, &b);

printf("%d\n", nedan(a, b));

return 0;
}
213デフォルトの名無しさん:2012/05/12(土) 12:36:17.74
素っ気ない プリント文少なすぎ
214デフォルトの名無しさん:2012/05/12(土) 14:40:53.48
よろしくお願いします。

[1] 授業単元: プログラミングC
[2] 問題文(含コード&リンク):
値xの二乗値および三乗値を返す関数形式マクロ
sqr (x)
cub (x)
を定義し、下記(※)のようにint型変数、double型変数を用いた結果を表示しなさい。
※:http://kie.nu/a4f
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:Visual Studio2010
 [3.3] 言語:どちらでも可
[4] 期限:5/14
[5] その他の制限: 初歩的なものでお願いします。
215デフォルトの名無しさん:2012/05/12(土) 16:01:00.00
216デフォルトの名無しさん:2012/05/12(土) 18:26:38.09
[1] 授業単元:プログラミング
[2] 問題文:
国語、数学、英語の得点を受け取ると、その合計点を返すgoukei関数と3教科の合計点を受け取ると
それが200点以上の場合にはA、150点以上200点未満の場合にはB、150点未満の場合にはCを返すhyouka関数を作成せよ。
そして国語、数学、英語の得点を入力し、その合計点と成績を出力するプログラムをmain関数からgoukei関数およびhyouka関数を呼び出す形で作成しなさい。

[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月13日
[5] その他の制限:goukei関数は整数型、goukei関数への引数はデータ型は整数型。
hyouka関数のデータ型は文字型、hyouka関数への引数のデータ型は整数型。
よろしくお願いします。
217デフォルトの名無しさん:2012/05/12(土) 18:32:34.04
>>215
その使い方では問題は顕在化しないが、マクロの引数は、マクロのボディーでは括弧をつけるのが普通。
#define sqr(x) ((x) * (x))
#define cub(x) (sqr(x) * (x))

#define sqr(x) (x * x)

sqr(2+2)
を考えてみよ。
218 ◆QZaw55cn4c :2012/05/12(土) 18:57:49.96
>>215
もうひとつあった。
> printf("その数の二乗は%lfで\n三乗は%lfです。\n", sqr(d), cub(d));
%lf は褒められたものではない。%f にしておくのが無難。

ISO/IEC 9899:1999 6.5.2.2.6
If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument,
and arguments that have type float are promoted to double.
These are called the default argument promotions.
219デフォルトの名無しさん:2012/05/12(土) 19:19:27.76
>>217
マクロ全然使わないからなー
そうなのか。 ありがとう

>>218
ああそうか、書いてて違和感はあったんだけどな。
ていうかscanfは%lfなのにprintfは%fなのはなんで?
英語よくわからん
220デフォルトの名無しさん:2012/05/12(土) 19:30:20.48
>>219
そりゃポインタと拡張が云々
221 ◆QZaw55cn4c :2012/05/12(土) 19:32:26.51
>>219
>scanfは%lfなのにprintfは%fなのはなんで?

白状すると、実は確実な記述を規格に見つけることができないでいます。>>218 の引用は間接的にしか触れていないようです。
識者のご意見を伺いたいところです。
はちみつ餃子さんからコメントがあればうれしいのですが、はちみつさん、こっちみないみたいだし。

私の解釈では、
printf() ような可変長引数を持つ関数に、仮に float 引数を記述しても、この場合は double に格上げされます。
したがって仕様としては、可変長引数を持つ printf() の書式指定子に float 用というものは準備する必要がないと考えます。
だから %f は double 用と決めてしまって問題ないわけです。

だたし、C99 からは %lf も容認されたようです。これも私は未確認。
222デフォルトの名無しさん:2012/05/12(土) 19:48:14.76
簡単な指摘のときだけ張り切るなw
223 ◆QZaw55cn4c :2012/05/12(土) 19:49:16.66
>>222
いえいえ、これも >>219 の人徳というものです。
224デフォルトの名無しさん:2012/05/12(土) 19:52:15.59
>>217-218は、トリつけたりはずしたりして自演してることを自白してるようなもんだな
225 ◆QZaw55cn4c :2012/05/12(土) 19:58:00.13
>>224
あなたのいうところの「自演」の定義を教えてください。
かりに私がトリップを全然つけなかったら、これは自演とはいわないのでしょうか?
自演というのはトリップの着脱とはなんら関係ないと思いますが、いかがでしょうか?
226デフォルトの名無しさん:2012/05/12(土) 20:12:08.75
事実と反する無意味な仮定
227デフォルトの名無しさん:2012/05/12(土) 21:59:22.97
printfの%lfはあまりに良く誤用されるのでISO/IEC9899/1999(C99)では正しくなっただろ
228デフォルトの名無しさん:2012/05/12(土) 22:00:38.48
Qを相手にすんなって

>>225みたいに

>あなたのいうところの「○○」の定義を教えてください。

こればっかしだから
根っからのKYだぜこいつは
多分アスペルガーなんだろうな
229デフォルトの名無しさん:2012/05/12(土) 22:18:27.07
>>227
>>221で指摘済み規格は未確認
230デフォルトの名無しさん:2012/05/12(土) 22:19:46.32
>>228
そりゃ使う言葉の意味が最初から食い違っていては時間の無駄だから、いちいち確認するのは普通なのでは?
あんたそれでもム板の人?
231デフォルトの名無しさん:2012/05/13(日) 00:48:10.07
232デフォルトの名無しさん:2012/05/13(日) 00:53:58.37
[1] 授業単元:プログラミング演習
[2] 問題文:
預金高a、年利r、年数nを受け取ると、利子(複利)を含めたn年後の預金高を返すyokin関数を作成。
そして預金高a、年利r、年数nを入力すると1年後からn年後までの利子を含めた預金高を計算し、出力するプログラムを
main関数からyokin関数を呼び出す形で作成しなさい。
但し、利子は複利で加算されるとし、年利rは百分率で入力する。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日
[5] その他の制限:
main関数でfor文を使い、nを変化させながらyokin関数を呼び出す。
yokin関数でも以下の式を参考にしてfor文を用いてn年後の預金高を計算する。
預金高1000円、年利2%の複利の場合、1年後の預金高は 1000円*1.02
預金高2000円、年利2%の複利の場合、3年後の預金高は 2000円*1.02*1.02*1.02
よろしくお願いします。
233デフォルトの名無しさん:2012/05/13(日) 02:02:24.70
234デフォルトの名無しさん:2012/05/13(日) 04:05:02.22
>>232
銀行丸めが必要?
235デフォルトの名無しさん:2012/05/13(日) 07:23:29.54
[1] 授業単元:プログラミング
[2] 問題文:
ransuu関数は整数型の引数uを受け取ると1からuまでの乱数を返す。
この関数を用いて、1から6までの乱数を100回発生させる。
1から6までのそれぞれの数が発生した回数を出力しなさい。
http://codepad.org/2MXb2oGy
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日
[5] その他の制限:
main関数でfor文を用い、100回ransuu関数を呼び出す。
ransuuの結果により、1から6までの回数を入れるそれぞれの変数をカウントする。
出力例
1:18回
2:15回
よろしくお願いします。
236デフォルトの名無しさん:2012/05/13(日) 07:39:28.08
#include <stdio.h>
#include <stdlib.h>

int ransuu(int u)
{
static int first=1;
if (first==1)
{
srand((unsigned int) time(NULL));
first=0;
}
return(rand()%u+1);
}

int main(void)
{
int i, kaisuu[7] = {0};

for(i = 0; i < 100; i++) kaisuu[ransuu(6)]++;

for(i = 1; i <= 6; i++) printf("%d:%d回\n", i, kaisuu[i]);

return 0;
}
237デフォルトの名無しさん:2012/05/13(日) 08:42:51.14
[1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/rhGmw4wz
上記のプログラムnadd関数を修正して、2から30000までの偶数の和を求めるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日13:00
よろしくお願いします。
238 ◆QZaw55cn4c :2012/05/13(日) 08:47:09.88
>>236
うんぬんかんぬん
×rand()%u+1
http://www.kouno.jp/home/c_faq/c13.html#16
239 ◆QZaw55cn4c :2012/05/13(日) 08:52:17.99
240デフォルトの名無しさん:2012/05/13(日) 10:00:15.68
[1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/GPP4IwcH
上記のmain関数を修正して、1から5までの和と積を求めるプログラムに修正しなさい。
ただし、add関数の変数nを変数n1、multi関数の変数nを変数n2に変え、これらの変数をグローバル変数としてmain関数の前で宣言。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日
[5] その他の制限:
printf文の途中経過の出力は数値のみ。
「1st time」「2nd time」・・・の出力はあっても無くてもよい。
よろしくお願いします。
241デフォルトの名無しさん:2012/05/13(日) 10:12:38.80
for(i = 1; i <= 30000; n += i, i++);
てなんかクソ気持ち悪い書き方してんな
何これ?
何の意味があんの?
お前が描いたの? それとも誰か別のアホがやったの・
242 ◆QZaw55cn4c :2012/05/13(日) 10:23:27.64
243 ◆QZaw55cn4c :2012/05/13(日) 10:33:08.60
>>241
for(n = 0, i = 1; i <= 30000; n += i, i++);
だったらあり
しないけど
244デフォルトの名無しさん:2012/05/13(日) 11:47:10.58
>>238
>>235のリンク先をそのままコピペしただけ
いつもバカにされてて悔しいからって、問題とそのリンクを確認せずに脊髄反射してるようじゃ
これからも恥を重ねるだけだぞw
245デフォルトの名無しさん:2012/05/13(日) 11:49:28.10
>>244
うはっ、俺いいこと言ったと悦に入ってるんだからそっとしといてあげなよ
246デフォルトの名無しさん:2012/05/13(日) 11:56:28.98
st nd rd th を文字列にして%d%sで表示すればバカみたいなsprintfとかいらないのになw
247 ◆QZaw55cn4c :2012/05/13(日) 12:22:04.73
>>246
なるほどねえ。

>>240
http://codepad.org/MAg6whJP
248 ◆QZaw55cn4c :2012/05/13(日) 12:24:53.08
>>244
恥とかよくわからないのですが
249デフォルトの名無しさん:2012/05/13(日) 12:37:16.21
元の関数がグローバル変数を引数にとってないのに、そこを勝手に変えたら減点される
250 ◆QZaw55cn4c :2012/05/13(日) 12:53:07.82
>>249
そっかなあ?加点されると思ったんですけれども。
>>240
http://codepad.org/ODcXHGOZ
251デフォルトの名無しさん:2012/05/13(日) 15:22:59.48
>>230
コテ外して反論書くなや気持ち悪いQ
コテ付けて書けよキチガイ
252デフォルトの名無しさん:2012/05/13(日) 15:23:56.01
>>248

>恥とかよくわからないのですが

そりゃお前には分からんだろうよ
人間の感情を持ち合わせてない豚だもんな
253 ◆QZaw55cn4c :2012/05/13(日) 15:48:47.76
ま、廊下ルルールをいじくろうとして壮大に板全体をかきまわした挙句、
http://toro.2ch.net/test/read.cgi/tech/1333095907/46-50
なーんて書かれちゃうよりははるかにましだとは思っていますが。
254デフォルトの名無しさん:2012/05/13(日) 15:51:00.63
>>253
お前の身から出た錆だろ
こいつ真性の馬鹿だな
255 ◆QZaw55cn4c :2012/05/13(日) 18:09:45.27
>>254
俺のせいか?まさか。
256デフォルトの名無しさん:2012/05/13(日) 18:26:04.65
あんだけ間違いやらクソコードやら晒しても平気な顔してるんだから、
恥とか感じないんだろうな
257 ◆QZaw55cn4c :2012/05/13(日) 18:42:30.29
>>256
おやくそく。
間違いはありましたが指摘されれば修正をかけております。修正されていないコードがあるというのであればURLを示してください、霧。
たしかに糞コードはないとはいいません。しかし糞コードというのであればどこがどう糞なのか URL を示して説明してください、霧。
258デフォルトの名無しさん:2012/05/13(日) 18:50:06.51
修正すれば間違っていいわけじゃない
普通は指摘される以前に間違えない

クソコードなのは今まで何度も指摘した
259 ◆QZaw55cn4c :2012/05/13(日) 21:14:46.41
>>258
おやくそく

>修正すれば間違っていいわけじゃない
当然だ。しかし数をこなせば間違えないで居続けることは困難。毎月の Windows Update の数をしらないのか?

>クソコードなのは今まで何度も指摘した。
それなりのスピード感をもって数をこなせば糞コードもたまには書いてしまうだろう。それとも全部が糞とでも?
260デフォルトの名無しさん:2012/05/13(日) 21:18:42.40
宿題スレで間違えないことが困難とか、どうしようもないくらいのアホなんだな
間違えるほうが難しいのに
261デフォルトの名無しさん:2012/05/13(日) 21:44:29.50
>>259
Windows Updateを引き合いに出すなら、同じくらいコードを書いた上で、
どのくらいのバグ件数があるかを比較しろ。
262 ◆QZaw55cn4c :2012/05/13(日) 21:47:29.68
>>260
それは見解の相違ですなあ。結構むずかしいのもくる。
263 ◆QZaw55cn4c :2012/05/13(日) 21:50:31.64
ま、これ以上は水掛け論。今後もやってくる宿題のこなし具合を回答としましょうか。
いままではほいほいと書いてはup、書いてはup してましたが、ちょっと慎重にやってみます。
264デフォルトの名無しさん:2012/05/13(日) 22:45:08.77
おっ逃げたか
自分が論破されそうになるとサッと逃げる
どれだけチキンなんだよw
265デフォルトの名無しさん:2012/05/13(日) 23:08:30.54
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文: 配列を用いる方法で線形リストを実装する。
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月14日
[5] その他の制限: 条件
各操作には誤作動を防ぐチェック機能をつける。
配列サイズはMAX_SIZEで指定
追加されるデータの値は追加するごとに1から+1される
実行結果
0 0 0
1.先頭に追加 2.先頭を削除 9.終了:1
1 0 0
1.先頭に追加 2.先頭を削除 9.終了:2
0 0 0
1.先頭に追加 2.先頭を削除 9.終了:1
2 0 0
1.先頭に追加 2.先頭を削除 9.終了:1
3 2 0
1.先頭に追加 2.先頭を削除 9.終了:1
4 3 2
1.先頭に追加 2.先頭を削除 9.終了:9
プログラムの作成お願いします。
266 ◆QZaw55cn4c :2012/05/14(月) 00:57:19.24
267デフォルトの名無しさん:2012/05/14(月) 03:52:12.14
なんかQZが饒舌になってんだな。なにがあったの
268デフォルトの名無しさん:2012/05/14(月) 04:00:20.52
>>257
何度か指摘をして、何度か修正しているのを見た。それは問題ないと思うんだが、
どこがどうダメであるかを伴って指摘をしろというのは傲慢であり、思考停止だとおもう。
頭をひねってもどこがダメか分からないとき、それは教えを請う立場へと逆転すべきなのでは。
269デフォルトの名無しさん:2012/05/14(月) 05:10:12.75
Qへの攻撃すごすぎワロタ
普通は口で罵り合いをしてそのうち人格攻撃に移っていくものだが
Qの場合いきなり人格攻撃されてるwww

よほど嫌われてる証拠だよw
というか議論にすらならない屁理屈ばかり言うもんだから呆れてるんだろうな
構わない奴は構わないし構う奴はいきなり人格攻撃
270 ◆QZaw55cn4c :2012/05/14(月) 06:58:43.30
>>269
そりゃ、数年やってるので
>口で罵り合いをして
の段階はとうに終わっており、最終形にいきなり移行しているようにみえるだけ。
別の意図(単にコテつけるのをやめさせたいとか)があるんだろうと推察します。

>>268
そのときそのときでだめなところは、指摘をうければ修正してきたし、あるいは少数ですが修正しきれなかったものもあります。(http://toro.2ch.net/test/read.cgi/tech/1313183984/22 とか)
そして指摘がなければそのままであったであろうことは、容易に推測できます。
それはそれでしかたがないし、その点を糞だといわれても受容しています。

ただ、無念感というか、ちょっと違うのでは?というところがあるのですが、それを表現する言葉がみつかりません。批判する側は無制限なんだなあ、と思います。
こういう私も SICP和訳を(散々お世話になっておきながら)こきおろしましたし、http://toro.2ch.net/test/read.cgi/tech/1203096230/886,888,897,899 まあ因果応報なのかもしれません。
271デフォルトの名無しさん:2012/05/14(月) 07:02:26.53
結局何もわかってない
272デフォルトの名無しさん:2012/05/14(月) 12:18:02.41
てす
273 ◆QZaw55cn4c :2012/05/14(月) 12:43:13.68
>>268
>どこがどうダメであるかを伴って指摘をしろというのは傲慢であり、思考停止だとおもう。
程度によりけり、としかいえないのかもしれません。

単なる指摘に対しても可能な限り追求はあきらめていないつもりです。
(ここで言及するのはおこがましいけれども、この前、バッファーオーバーフローによる bus error /アラインメント不正などは、夜通し考えた挙句に、翌日ずる休みをして減給されました :-))
http://hibari.2ch.net/test/read.cgi/tech/1311089619/423,469,493,518、このときも指摘者はいじわるなように見えてかなりの情報を提供していただいていたことにずいぶん後になって気がついた、という未熟者ぶりだと今では考えています。)

そういう過去の姿勢を勘案していただいた上で、私が
「だめだというのならば、どこがどうダメであるかを伴って指摘せよ」と主張するのは、あながち人の道を踏み外してはいないと思うのですが、いかがでしょうか?
274 ◆4cHxkhLSjs :2012/05/14(月) 12:56:54.26
[1] 授業単元:プログラミング言語
[2] 問題文 
・以下の2つの式は数学的には等価である
-(a-b)+1
-a-(b-1)
・しかし、次のプログラム(a,bを10^nにしてnを1~20に変化させる)を実行すると、ある段階から等価でなくなる
#include <stdio.h>
int main(void)
{
float a, b, r;

a = 10.0;
b = 10.0;
r = 0.0;

for(int i = 1; i <= 20; i++){
printf("i = %d\n",i);
printf(" a = %f\n",a);
printf(" b = %f\n",b);
r = (a - b) + 1.0;
printf(" r = %f\n",r);
r = a - (b - 1.0);
printf(" r = %f\n",r);
printf("\n");
a *= 10.0;
b *= 10.0;
}
return 0;
}
・等価でなくなる理由は情報欠落が発生しているためだが、具体的にどのように発生しているかを調査し300文字程度で考察せよ
[3] 環境OS:windows7 ソフト:MicrosoftVisualStudio2010 言語:C++ コンパイラ名とバージョン名は今わかりません
275デフォルトの名無しさん:2012/05/14(月) 13:01:23.34
普通の人間なら指摘された時点で気づくようなことを、幼稚園レベルの自分に合わせて説明しろって要求がずうずうしいんだよw
276 ◆4cHxkhLSjs :2012/05/14(月) 13:02:07.15
i = 11
a = 99999997952.000000
b = 99999997952.000000
r = 1.000000
r = 1.000000

i = 16
a = 10000000272564224.000000
b = 10000000272564224.000000
r = 1.000000
r = 0.000000

i=11以降aとbの値が変わることと
i=16以降等価でなくなる理由を教えて下さい
277デフォルトの名無しさん:2012/05/14(月) 13:51:34.42
つ単精度
278デフォルトの名無しさん:2012/05/14(月) 15:54:38.25
>>275
Qは在日チョンじゃないかという気が最近してならないw
279デフォルトの名無しさん:2012/05/14(月) 17:03:48.96
>>270
>>口で罵り合いをして
>の段階はとうに終わっており、最終形にいきなり移行しているようにみえるだけ。

という事は自分が人格攻撃されるに足りるだけの歪んだ性格の持ち主である事は
認めるんだな?
議論する気がなく屁理屈ばかり言って皆に呆れられている事も認めるわけだな?
お前マジでリアル生活どうしてんの?この板だけですらこれだけ嫌われてるのに、
現実生活が成り立つはずがないんだが
280デフォルトの名無しさん:2012/05/14(月) 18:37:19.05
すごい妄想力だ
281デフォルトの名無しさん:2012/05/14(月) 18:42:53.00
私にはQZaを罵ってる人がせっかくの好スレを台無しにし続けているようにしか思えないけど。
282デフォルトの名無しさん:2012/05/14(月) 19:01:57.41
>>280-281
Qがコテを外しての自演です
283デフォルトの名無しさん:2012/05/14(月) 19:30:26.02
>>282
医者に池
284 ◆QZaw55cn4c :2012/05/14(月) 21:23:48.01
>>275
>普通の人間
「普通」の定義を教えてくださいね。
ドストエフスキーによれば、変人こそ普遍的な存在であり、普通の人というのは「なにか急な風の吹き回しでしばしば変人から」なにかを失ったり、大事な部分を切り取られたりした片輪な存在、とのことですよ。
まあドストエフスキー自体が変人でしたけど。

それはともかく、幼稚園レベルでいいから説明してごらんなさいよ。あんがい幼稚園レベルじゃないかもしれませんよ。

>>282
今日も自演認定ご苦労様です。もう少し精度をあげるよう努力してください。
285デフォルトの名無しさん:2012/05/14(月) 21:30:09.13
[1] 授業単元:プログラミング演習
[2] 問題文:
円の半径rを受け取ると、rからこの半径の円の周囲の長さlと面積sを計算するcircle関数を作成。
そしてmain関数でrを入力すると、circle関数でlとsが計算され、その結果をmain関数で出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月15日
[5] その他の制限:
円周率は3.14
return文では関数の処理結果は1つしか返せない。円周と面積を入れる変数をグローバル関数として宣言する。
関数circleはvoid型関数となり、rを引数としてlとsを計算する処理を記述。
よろしくお願いします。
286デフォルトの名無しさん:2012/05/14(月) 21:37:17.32
>>285
> 変数をグローバル関数として宣言する
287デフォルトの名無しさん:2012/05/14(月) 21:43:59.86
>>286
> 変数をグローバル変数として宣言する
関数でなく、変数の間違いです。すみません。
288デフォルトの名無しさん:2012/05/14(月) 21:53:09.71
日本人って非論理的なんだな。おまいらの書き込み見てると思うわ
289デフォルトの名無しさん:2012/05/14(月) 22:40:59.46
>>284
だめだこいつアスペに加えて完全な自己愛性人格障害だ
もうリアルの生活が完全に破綻している事ははっきりわかった
290 ◆QZaw55cn4c :2012/05/14(月) 22:45:56.54
>>276
>i=11以降aとbの値が変わることと
これは私にも確認できていません。

>i=16以降等価でなくなる理由を教えて下さい
ちょっと突飛な喩えをしてみますね。かえってわかりにくくなってしまったらごめんなさい。

C の型のうち、例えば unsigned int について考えます。私の環境では unsigned int は 最大 4294967296 まで表現できます。
ここで unsigned int a = 4294967295、int b = 2 として、unsigned int c = a + b を計算したらどうなるでしょうか?
数学的な a + b の値 4294965297 は unsigned int の表現できる範囲を超えるので c の値は 4294967297 にはならないことは推測できるでしょうが、実際、ではなにが抜け落ちてしまうのでしょうか?
答えは、上の桁から情報が抜け落ちてしまいます。私の環境では c の値は 1 になります。429467296 分が抜け落ちてしまったのです。
このように C のある種の型は、演算によっては大きい数の情報が抜け落ちてしまい、しかもエラーが出て止まったりしない、という困ったことがおきるので計算させる前に注意する必要があります。

C の型 float も、もし計算結果がある種の範囲を超えた場合、やはり情報が抜け落ちてしまう場合があります。が、int と違って、小さい方の情報が抜け落ちてしまいます。
a-(b-1)
の計算をしたときに、b がとてつもなく大きな数になると、b - 1 ==> b になってしまう場合があるのです。b が大きすぎるので b にくらべて小さすぎる 1 が抜け落ちてしまうんですね。
だから、情報が抜け落ちない計算
(a-b)+ 1 = a - b + 1
と、情報が抜け落ちてしまう計算
a-(b-1) ==> a - b
が異なる結果になってしまうのです。

数字を記憶する変数 a, b, が有限のメモリ量しか使えない以上、桁数がたくさんある数を記録させようとすると、その上から(unsigned int)、あるいは下から(float) 情報が抜けてしまうのです。
291 ◆QZaw55cn4c :2012/05/14(月) 22:47:25.35
>>289
「アスペ」や「自己愛性人格障害」の定義を述べてください。その上で私ことQZaw55cn4cがそれにあてはまるかどうか考えて見ましょうよ。
292デフォルトの名無しさん:2012/05/14(月) 22:54:44.42
たぶん、>>289自身がかかっている病気。だから詳しい。
でも、医者じゃないから定義はできない。
293デフォルトの名無しさん:2012/05/14(月) 23:12:12.57
考える能力のない人間が何言ってるんだろう
294デフォルトの名無しさん:2012/05/14(月) 23:14:39.89
すいません!
あるクラスに静的な配列を動的にインスタンスを作成したいのですができるでしょうか?
下記のコードは間違っていると思うんですけどどう直したらいいかわかりません!
class hoge{
 static int *piyo;
 hoge(int i){
  huge[] = new int[i];
 }
}
295 ◆QZaw55cn4c :2012/05/14(月) 23:15:19.26
>>293
考える能力の有無をどの点から判断したのかその根拠を述べてください。
296デフォルトの名無しさん:2012/05/14(月) 23:18:01.05
>>294
はhuge[]ではなくpiyoです!
間違えました!
297デフォルトの名無しさん:2012/05/14(月) 23:19:53.27
>>285
#include <stdio.h>

double l, s;

void circle(double r)
{
l = 2 * r * 3.14;
s = r * r * 3.14;
}

int main(void)
{
double r;

scanf("%lf", &r);

circle(r);

printf("l = %f\ns = %f\n", l, s);

return 0;
}
298 ◆QZaw55cn4c :2012/05/14(月) 23:30:50.72
299デフォルトの名無しさん:2012/05/14(月) 23:31:06.69
>>294
> 静的な配列を動的にインスタンスを
まず貴様の言わんとすることが不明

あるクラスに
・静的な配列を
・動的にインスタンスを
作成したいのですが

てな意味なのか?
300デフォルトの名無しさん:2012/05/15(火) 00:06:42.71
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
x_i∈{0,1}であるとき、次の漸化式で与えられる数列(M系列)を示しなさい。
また、p>1と得られる系列の周期について考察しなさい。
x_n=x_(n-1)+x_(n-p)
ただし、加算+は排他的論理和(XOR)を表す。
また、第p-1項まではすべてが0である場合を除いて、scanfで任意に与えてよい。
実行例には、次の場合を含めなさい。

p=3: 初期値 x_0=1, x_1=0, x_2=0 のとき、x_3=1, x_4=1, x_5=1, x_6=0

XOR 0 1
0 0 1
1 1 0

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 5/22
[5] その他の制限:
配列のサイズの最大値はマクロ定義 #defineを用いて定義する
配列の添字を適切な範囲で使用する
文字列のループ文を適切に(文字列の長さを使わないで)作る
ポインタなどは用いない
無限ループwhile(1)などは使用してはいけない.
301デフォルトの名無しさん:2012/05/15(火) 00:21:52.43
[1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/3d8CbXUM
上記のプログラムのfunc2のようにstatic変数を関数内で宣言して、main関数側で変数nに1つの偶数を入れると
2からnまでの偶数の和と積を計算して出力するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限:5月15日 13:00
[5] その他の制限:
nには正の偶数が入力されることを前提とする。
(入力例)n=? 6
(出力例)和 12  積 48
よろしくお願いします。
302デフォルトの名無しさん:2012/05/15(火) 00:26:28.22
>>299
C++で動的に配列を宣言するにはnew演算子などで一々インスタンス化しないといけないと思ってました。
間違えました。

要は、
無限ループ手前で呼び出されるメソッドで、動的に配列メンバを作成し
無限ループ中でそれらを参照したいということです。
この時、一定の条件下で動的に配列メンバを作成し直すことができるか?
という質問です。
303デフォルトの名無しさん:2012/05/15(火) 00:32:29.54
>>298
おおお
これって、もう一度コンストラクタを呼び出したりして
たとえば
class hoge a(t);
とできますか?(static成分の配列の要素数変更)

あとそのサイトってどうやって使うんですか
304デフォルトの名無しさん:2012/05/15(火) 01:14:22.72
>>291
その「○○○の定義を述べてください」というのがQお得意の土俵である事は誰でも分かっている
だから誰も今やその土俵にノコノコと乗らない
屁理屈の応戦が待っているだけで議論に全くならなくて時間と精神のエネルギーの無駄になるだけ

>>303
この問題はplacement newを使う方が綺麗に書ける
305 ◆QZaw55cn4c :2012/05/15(火) 01:55:01.15
>>303
>もう一度コンストラクタを呼び出したりしてたとえば
>class hoge a(t);
>とできますか?
ざんねん、そうかいてない以上できません。こういうときは std::vector の出番でしょうね、すらっと思い浮かばないです。

>そのサイトって

306デフォルトの名無しさん:2012/05/15(火) 01:58:57.55
cordpad.org
307 ◆QZaw55cn4c :2012/05/15(火) 02:01:07.48
>>304
>この問題はplacement newを使う方が綺麗に書ける
本当か?書いてみろよ
http://www.fides.dti.ne.jp/~oka-t/cpplab-placement-new-3.html
308 ◆QZaw55cn4c :2012/05/15(火) 02:04:17.37
>>303
>あとそのサイトってどうやって使うんですか
ああ、http://codepad.org/ とか http://ideone.com/ とか、最近もうひとつみつけたところをみると結構あるようだ。URL をたたけばわかると思う。
309デフォルトの名無しさん:2012/05/15(火) 05:28:13.41
>>307
この口調で自分の都合の悪いレスはいつもコテを外して書いていると確信した
310 ◆QZaw55cn4c :2012/05/15(火) 05:34:20.81
311デフォルトの名無しさん:2012/05/15(火) 05:50:21.57
>>310
なんで俺が書かなきゃならねーんだよ
>>307は俺じゃねーし
それだけ多くの奴に嫌われてんだなおめー
めでたい奴だな
312 ◆QZaw55cn4c :2012/05/15(火) 05:54:09.50
313 ◆QZaw55cn4c :2012/05/15(火) 06:05:30.26
314 ◆QZaw55cn4c :2012/05/15(火) 07:15:53.19
>>303
>class hoge a(t);
>とできますか?(static成分の配列の要素数変更)
>>305 でふれたとおり STL の std::vector をつかってみました。慣れていないので‥‥ごめんなさい。
http://codepad.org/vbW9M9Nl
315デフォルトの名無しさん:2012/05/15(火) 10:28:31.61
316デフォルトの名無しさん:2012/05/15(火) 12:12:39.71
>>300
2^p - 1
317デフォルトの名無しさん:2012/05/15(火) 12:40:41.91
>>312
お前壊れたラジオだな
NGに入れる事にした
あぼーんではなくて透明あぼーんにしとくね
318デフォルトの名無しさん:2012/05/15(火) 13:30:08.53
>>270
> 指摘がなければそのままであったであろうことは、容易に推測できます。
>>273
> そういう過去の姿勢
> =
> 単なる指摘に対しても可能な限り追求はあきらめていないつもり

まとめると、いわれれば直すけど、いわれなければそのままだと。
じゃあやっぱり>>268は間違えていない
319デフォルトの名無しさん:2012/05/15(火) 14:39:10.31
QZってIQ100未満だろうな
320デフォルトの名無しさん:2012/05/15(火) 15:19:01.82
QZの粘着がうざい
321デフォルトの名無しさん:2012/05/15(火) 16:55:51.21
>>268は明らかに正しいな
Qは自分の頭の悪さを棚に上げて「どう書けばいいプログラムになるのか教えなさい」と
命令している
お前そんな立場じゃないだろ、「教えてください」と頭を下げる立場だろと思うんだろうが
Qの傲慢な性格がそうはさせないわけだ
そして皆が愛想を尽かすと「じゃ今のまま行くぜ」と言って終わり、今までこれの繰り返し

これじゃ嫌われても仕方ないぜ
こんな性格のひねくれた奴を好きになる物好きはいない
322デフォルトの名無しさん:2012/05/15(火) 18:25:38.40
>>314
Vectorって予めメモリを保持してるってことですよね・・・
もったいない気がする
323デフォルトの名無しさん:2012/05/15(火) 18:30:01.19
16Mのメモリを確保していいかと、
システム管理者に了解もらったことがあったな。
ずいぶん昔の話だけど、今もそうしてるのかな?
324 ◆QZaw55cn4c :2012/05/15(火) 18:43:53.99
>>322
capacity() メソッドで調整できたような記憶があります。
325 ◆QZaw55cn4c :2012/05/15(火) 18:48:10.90
>>321
>「どう書けばいいプログラムになるのか教えなさい」と命令している
違うね。
糞だと主張するなら、どんな点が糞か具体的な記述をしろ、糞だ糞だというだけなら猿でもできる、といっている。

それはそうと、お前が >>304 のかわりに >>307 の疑問に対して反証してみてくれんかね?
326 ◆QZaw55cn4c :2012/05/15(火) 18:49:18.66
327 ◆QZaw55cn4c :2012/05/15(火) 18:54:25.08
>>318
>いわれれば直すけど、いわれなければそのままだと。
>>268 の意見は臓腑に染み渡りました。それでも、書き方を手取り足取り教えろ、と主張しているわけではなく、割り切れない想いをしていると述べたまでのこと。
まあ、糞よばわりする者も、所詮、>>304 と平気で主張するくらいのレベルなんだな、と感じた次第。
>>307 の疑問を解消していただけるとありがたいのですけど、どうでしょうか?
328デフォルトの名無しさん:2012/05/15(火) 20:05:09.35
効いてる効いてるwww
329デフォルトの名無しさん:2012/05/15(火) 20:13:21.20
ここがクソって指摘すると大抵の人は何がクソなのか理解するけど、
クズは理解できないで自分の頭の悪さを棚にあげて理解できるまで説明しろっていうのがうざい
330デフォルトの名無しさん:2012/05/15(火) 20:19:37.13
>>329
自分がクソだって理解できてる?
331デフォルトの名無しさん:2012/05/15(火) 20:22:57.11
両方ともあっちのスレでやってればいいのに
こっちにでてくんな
332268:2012/05/15(火) 20:26:08.36
placement newを使うときれいに書けるかどうかはさておき、
動的に配列を用意する必要が本当にあるのかどうかが分からないのと、
それが必要でかつ、vectorで実装するのであれば、要素の増減の度合いによっては
切り詰める処理(別のインスタンスに内容をコピーする)を入れておいたほうがいいね。

やりたいことのコード片をあげてくれればなんかアドバイスできるかもしれない、けど、ここは宿題スレだよ。

>>324
関係ない
333デフォルトの名無しさん:2012/05/15(火) 20:30:08.95
>>330
やあクズ
334デフォルトの名無しさん:2012/05/15(火) 21:35:10.43
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/4r1e9DdC
上記のransuu関数を用いて、以下のような数当てゲームプログラムを作成せよ。
このプログラムはmain関数とransuu関数からなるプログラム。
@1から100までの整数乱数を1つ発生させる。
A利用者に1から100までのある整数を入力してもらう。
B発生した乱数と入力した数が同じなら"当り"、乱数の方が入力した数よりも大きければ"もっと大きい"、乱数の方が入力した数よりも小さければ"もっと小さい"、と表示する。
C数を当てることができなかった場合には、もう一度数を入力してもらう。
D6回以内に当たった場合には"あなたの勝ち"と表示して終了。6回続けて外れた場合には"あなたの負け"と表示して終了。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月16日
[5] その他の制限:
while文とbreak文を使用する。
よろしくお願いします。
335デフォルトの名無しさん:2012/05/15(火) 21:44:55.81
丸投げを重ねると最後は泣くことになるけど、いいのか?
336デフォルトの名無しさん:2012/05/15(火) 22:00:10.55
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク): http://s2.muryo-de.mydns.jp/~c_cpp_homework/cgi-bin/joyful/img/363.txt
 [3.1] OS: Windows
  Visual C++ 2010

[4] 期限: 2012年5月17日
お願いします
337デフォルトの名無しさん:2012/05/15(火) 22:09:13.36
>>336
これ俺が作ったプログラムにそっくりw
338デフォルトの名無しさん:2012/05/15(火) 22:19:49.85
>>334
http://codepad.org/vKHr2Rcp
こんなに変えちゃったけどいい?
339デフォルトの名無しさん:2012/05/15(火) 22:38:53.98
>>336
お前の宿題には全く興味ないけど
girl.pgm、zukei.pgm、
の実物くらいは欲しいと思うじゃん?
それがフツーじゃん?

そこんとこどーなのよ?
340デフォルトの名無しさん:2012/05/15(火) 22:50:00.24
341デフォルトの名無しさん:2012/05/15(火) 23:38:37.54
[1] 授業単元: 計算機プログラミング
[2] 問題文(含コード&リンク): http://www.fluid.cse.nagoya-u.ac.jp/~ishihara/c/Sec4kadai.html
[3] 環境
 [3.1] OS: Mac
 [3.3] 言語: C言語
[4] 期限: 2012年5月16日
簡単なのだとは思いますがアホな自分にはさっぱりです… お願いします
342デフォルトの名無しさん:2012/05/16(水) 00:09:25.77
名古屋大学院なの?
343デフォルトの名無しさん:2012/05/16(水) 00:34:45.73
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
ピリオドの後に拡張子が付いているファイル名file.docが 与えられたとき,
拡張子の無いファイル名部分(file)と, 拡張子(doc)に分け,
文字列の配列 fname[][]に代入するプログラムを 作成しなさい.
結果も表示すること.
ただし、文字列のループ文は文字列の長さを使わないで作り、
ポインタ、無限ループなどは使用してはいけない.
[3] 環境
 [3.1] OS: Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限: 2012年5月23日
お手数ですが、よろしくお願いします!
344デフォルトの名無しさん:2012/05/16(水) 00:38:06.35
>>341
<p>解答例1</p></H3>

<p>
<table border BgColor="#aaffff"><td><font size="+1"><pre><font color=black>#include <stdio.h>

int main(void)
{
double a,b,sekibun,exact<font color=red>,x,dx</font>;
int n<font color=red>,i</font>;

printf("x^2をaからbまで台形則を用いて数値積分します。\n");
printf("aとbを入力してください。\n");
scanf("%lf %lf",&a,&b);
printf("分割数nを入力してください\n");
scanf("%d",&n);
<font color=red>dx=(b-a)/n;
x=a;
sekibun=0.0;
for(i=0; i<n; i++)
{
sekibun += (x*x+(x+dx)*(x+dx))*dx/2.0;
x += dx;
}</font>

exact=(b*b*b-a*a*a)/3.0;

printf("数値積分値は%20.15lfです。\n",sekibun);
printf("厳密値は%20.15lfです。\n",exact);
printf("誤差は%20.15lfです。\n",exact-sekibun);
return 0;
}
345デフォルトの名無しさん:2012/05/16(水) 00:38:39.20
<p>解答例2</p></H3>
<p>
<table border BgColor="#33ffff"><td><font size="+1"><pre><font color=black>#include <stdio.h>

int main(void)
{
double a,b,sekibun,exact<font color=red>,x,dx</font>;
int n<font color=red>,i</font>;

printf("x^2をaからbまで台形則を用いて数値積分します。\n");
printf("aとbを入力してください。\n");
scanf("%lf %lf",&a,&b);
printf("分割数nを入力してください\n");
scanf("%d",&n);

<font color=red>dx=(b-a)/n;

sekibun=(a*a+b*b)/2.0;
for(i=<font color=blue>1</font>; i<n; i++)
{
x = a + dx*i;
sekibun += x*x;
}
sekibun = sekibun * dx;</font>

exact=(b*b*b-a*a*a)/3.0;

printf("数値積分値は%20.15lfです。\n",sekibun);
printf("厳密値は%20.15lfです。\n",exact);
printf("誤差は%20.15lfです。\n",exact-sekibun);
return 0;
}
346デフォルトの名無しさん:2012/05/16(水) 00:53:17.79
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク): http://s2.muryo-de.mydns.jp/~c_cpp_homework/cgi-bin/joyful/img/363.txt
http://www1.axfc.net/uploader/Sc/so/346076 画像
http://www1.axfc.net/uploader/Sc/so/346077 画像

 [3.1] OS: Windows
  Visual C++ 2010

[4] 期限: 2012年5月17日
お願いします

347デフォルトの名無しさん:2012/05/16(水) 01:13:24.86
>>346
お前の宿題には全く興味ないけど
先に出てるのと同じ人?
それが俺の一番知りたいことじゃん?
それがフツーじゃん?

そこんとこどーなのよ?
348 ◆QZaw55cn4c :2012/05/16(水) 01:39:58.16
>>332
>切り詰める処理(別のインスタンスに内容をコピーする)を入れておいたほうがいいね
いよいよ実装が思いつかないです。

>関係ない
ふむ。もう少し調べておきます。
349デフォルトの名無しさん:2012/05/16(水) 02:10:35.81
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
平面上の位置座標(x, y)から相対的に(Δx, Δy)だけ移動した位置座標を求めたいとする。
(x, y)と(Δx, Δy)をそれぞれ配列として表現し、これを引数として受け取って
求めたい座標を返す関数void func1(double x[], double d[], double a[])を定義して、
その動作を確かめるプログラムを書きなさい。ただしx[]が元の位置座標、d[]が移動分、
そしてa[]に答え が代入されるものとする。(x, y)と(Δx, Δy)はキーボードから次で入力するものとする。
すなわち、main()は例えば次のように定義される。
int main()
{
double A[2], B[2], C[2];//Cはfunc1()で答えを得るための配列(返信用封筒と思えばよい)
scanf("%lf %lf %lf %lf", &A[0], &A[1],&B[0],&B[1]);
func1(A,B,C);
//答えは以下で出力されるものとする。
printf("answer = (%lf, %lf)\n", C[0],C[1]);
}

[3] 環境
 [3.1] OS: Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限: 2012年5月18日
よろしくお願いします
350デフォルトの名無しさん:2012/05/16(水) 02:11:44.49
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
2x2の行列A,Bの差を求める関数void func2(int A[][], int B[][], int C[][])を定義して
その動作を確かめるプログラムkadai4-2.cを作りなさい。
演算結果はC[][]に代入されて返されるものとする。
ただしAとBはキーボードから次で入力するものとする。
scanf("%d %d %d %d %d %d %d %d", &a[0][0], &a[0][1], &a[1][0],&a[1][1], &b[0][0],&b[0][1],&b[1][0], &b[1][1]);
答えは以下で出力されるものとする。
printf("answer = %d %d %d %d\n", c[0][0], c[0][1], c[1][0], c[1][1]);

[3] 環境
 [3.1] OS: Linux
[3.2] コンパイラ:gcc
[3.3] 言語: C
[4] 期限: 2012年5月18日
よろしくお願いします
351デフォルトの名無しさん:2012/05/16(水) 02:22:11.24
>>344
期限が迫っていたけどわからなかったのですごく助かります!
ありがとうございました!
352デフォルトの名無しさん:2012/05/16(水) 02:27:42.60
>>349
#include <stdio.h>

void func1(double x[], double d[], double a[])
{
a[0] = x[0] + d[0];
a[1] = x[1] + d[1];
}

int main()
{
double A[2], B[2], C[2];//Cはfunc1()で答えを得るための配列(返信用封筒と思えばよい)
scanf("%lf %lf %lf %lf", &A[0], &A[1],&B[0],&B[1]);
func1(A,B,C);

printf("answer = (%lf, %lf)\n", C[0],C[1]);
}
353デフォルトの名無しさん:2012/05/16(水) 02:34:25.87
>>350
#include <stdio.h>

void func2(int A[][2], int B[][2], int C[][2])
{
C[0][0] = A[0][0] - B[0][0];
C[0][1] = A[0][0] - B[0][1];
C[1][0] = A[1][0] - B[1][0];
C[1][1] = A[1][1] - B[1][1];
}

int main()
{
int a[2][2], b[2][2], c[2][2];
scanf("%d %d %d %d %d %d %d %d", &a[0][0], &a[0][1], &a[1][0],&a[1][1], &b[0][0],&b[0][1],&b[1][0], &b[1][1]);
func2(a, b, c);
printf("answer = %d %d %d %d\n", c[0][0], c[0][1], c[1][0], c[1][1]);
}
354デフォルトの名無しさん:2012/05/16(水) 19:44:53.80
>343 文字列を扱う以上ポインタを使用しないという解はありません。以上。
355デフォルトの名無しさん:2012/05/16(水) 20:00:17.64
>>354
嘘つき
356デフォルトの名無しさん:2012/05/16(水) 20:05:43.64
>355 配列に入った文字列の先頭一字にアクセスするのでさえポインタのお世話になっていることさえお忘れですか?
357デフォルトの名無しさん:2012/05/16(水) 20:06:28.49
>>356
配列とポインタの区別もできねーのかよw
358デフォルトの名無しさん:2012/05/16(水) 20:09:41.17
>357 Cの仕様書千回読み直すことをお勧めする。
359デフォルトの名無しさん:2012/05/16(水) 20:10:57.10
>>358
的外れなこと勧められてもな
360デフォルトの名無しさん:2012/05/16(水) 20:12:29.63
これ以上無く適切なお勧めですよ。
361デフォルトの名無しさん:2012/05/16(水) 20:33:49.49
>>354
まだ得意げに嘘をつく癖が直らないんだな
消えればいいのに
362デフォルトの名無しさん:2012/05/16(水) 20:35:54.54
ということにしたいのですね。:)
363デフォルトの名無しさん:2012/05/16(水) 20:36:56.93
頭おかしい書き込みはスルーしよう運動
364デフォルトの名無しさん:2012/05/16(水) 20:38:47.72
プログラミングの単位強制的に取得したことになるプログラムまだー?
365デフォルトの名無しさん:2012/05/16(水) 20:40:21.98
>>364
うまくいっても後で困るだけだからやめとけ
366デフォルトの名無しさん:2012/05/16(水) 20:50:47.24
>>343
#include <stdio.h>
#define LEN 128

int main()
{
char fname[2][LEN] = {0};
char filename[LEN] = "file.doc";
int i, j;
for (i = 0, j = 0; filename[i] != 0 && filename[i] != '.'; i++,j++) {
fname[0][j] = filename[i];
}
if (filename[i] == '.') i++;
for (j = 0; filename[i] != 0; i++, j++) {
fname[1][j] = filename[i];
}
printf("%s\n", filename);
printf("%s %s\n", fname[0], fname[1]);
return 0;
}
367デフォルトの名無しさん:2012/05/16(水) 21:04:59.27
>>366
ポインタ使いまくりじゃん!
368デフォルトの名無しさん:2012/05/16(水) 21:07:36.81
>>367
ポインタ使ってる箇所をすべて挙げてみて
369デフォルトの名無しさん:2012/05/16(水) 21:23:03.13
全部だと多いので、一例。
> printf("%s\n", filename);
filename(これ自体は配列型)は評価されるとその先頭要素をさすポインタとなる。
"%s\n"(これもリテラル自体は配列)も同様。
printfはこれも関数ポインタとなる。

手元にあったC11ドラフト(N1570)なら
6.3.2.1:Lvalues,arrays,and function designators、6.5.2.2:Function Callsを参照。
C99でも同様(章番号は変わっとるかも知れんが)

6.5.2.1:array subscriptingも見といた方がいいな
370デフォルトの名無しさん:2012/05/16(水) 21:25:12.78
補足しておく。
御題が"ポインタを使うな"であるからツッコんでいる。
"ポインタ変数を使うな"ならスルーしてた。
371デフォルトの名無しさん:2012/05/16(水) 21:28:32.48
>>370
>全部だと多いので、一例。

全部書き出して
372デフォルトの名無しさん:2012/05/16(水) 21:41:36.88
373デフォルトの名無しさん:2012/05/16(水) 21:44:12.57
>>350,353
>C[0][1] = A[0][0] - B[0][1];

>C[0][1] = A[0][1] - B[0][1];
374デフォルトの名無しさん:2012/05/16(水) 21:46:22.14
> char fname[2][LEN] = {0};
> char filename[LEN] = "file.doc";
これはポインタ使用ではない。

> for (i = 0, j = 0; filename[i] != 0 && filename[i] != '.'; i++,j++) {
2箇所あるfilenameの評価時
なお、蛇足ではあろうが、それぞれで
filename[i]が*(filename+i)の構文糖でありfilename+iもまたポインタである

> fname[0][j] = filename[i];
filename,fname,fname[0]の評価時。

> if (filename[i] == '.') i++;
filenameの評価時

> for (j = 0; filename[i] != 0; i++, j++) {
filenameの評価時

> fname[1][j] = filename[i];
filename,fname,fname[1]の評価時

> printf("%s\n", filename);
説明済。

> printf("%s %s\n", fname[0], fname[1]);
printf, "%s %s\n", fname(2回),fname[0],fname[1]の評価時

#include <stdio.h>は処理系に依存するためノーカンにしておく。
main自体の呼び出しやその前処理/後処理も処理系依存なので同様にノーカンとしておく。
375デフォルトの名無しさん:2012/05/16(水) 21:47:01.59
どうせまた宣言/初期化のところで引っかかるとでも思ってたんだろうがな。
376デフォルトの名無しさん:2012/05/16(水) 21:51:08.92
ところで、ポインタの話とは別に、ピリオドを2つ以上含むファイル名って最後のピリオドより後だよな?
377デフォルトの名無しさん:2012/05/16(水) 21:51:59.52
×最後のピリオドより後だよな?
→最後のピリオドより後が拡張子だよな?
378デフォルトの名無しさん:2012/05/16(水) 22:06:33.36
うん。
379デフォルトの名無しさん:2012/05/16(水) 22:07:18.96
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/gFfm4dhN
5人の身長をキーボートから入力するとその平均身長が出力されるよう、上記のプログラムを変更しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月17日
[5] その他の制限:
for文をを使用する。
よろしくお願いします。
380デフォルトの名無しさん:2012/05/16(水) 22:09:01.96
>>377
一般的にはそうだけど先頭にだけドットがあるものは拡張子なしとして扱われるなど例外もある
381デフォルトの名無しさん:2012/05/16(水) 22:32:14.66
>371 で、散々愚かさ晒け出しておいてもう言うことはないのかな?
382デフォルトの名無しさん:2012/05/16(水) 22:38:13.43
>>381
>>374 で君が散々愚かさ晒け出してくれてるので、それで十分ですw
383デフォルトの名無しさん:2012/05/16(水) 22:40:45.44
>382 誤りであると主張するならそれを全部(根拠含めて)書いてくださいね。一部でなく。
384デフォルトの名無しさん:2012/05/16(水) 22:51:50.32
>>383
ここは宿題スレなので、依頼者の依頼内容に沿っているかどうかですが。
あなたがどういう屁理屈を主張しようと、
それに対して間違いを指摘する義務もないし、このスレの主題でもありません
385デフォルトの名無しさん:2012/05/16(水) 22:56:03.58
>384 つまり、反論できない、ということですね。
依頼内容に沿う解は無い、ということです。
386デフォルトの名無しさん:2012/05/16(水) 22:57:24.44
>>385
それを決めるのは依頼者であり、あなたではないでしょ?
解がないと考えるなら、あなたはそれで発言終了です。
387デフォルトの名無しさん:2012/05/16(水) 22:59:06.37
なんでQZごっこしてんの?
うぜえ
388デフォルトの名無しさん:2012/05/16(水) 23:00:32.20
389デフォルトの名無しさん:2012/05/16(水) 23:03:56.04
>386 最初に書いた時点で依頼者が納得して終わっていれば別にそこで終わっていたんですがね。
嘘つき呼ばわりされる言われも無いので説明して差し上げたまでですね。
390デフォルトの名無しさん:2012/05/16(水) 23:13:39.82
[1] 授業単元: 初級プログラミング演習
[2] 問題文:反復処理
異なる整数2つ、a,bを入力。実行例に記すように aからbまで順に数字を表示するプログラムを作成しなさい
【実行例】
整数を2つ入力してください
a=22, b=28
22
23
24
25
26
27
28

[3] 環境
[3.1] OS:Linux(ubuntu)
[3.3] 言語: C言語
[4] 期限:できれば明日まで
[5] その他の制限:
プログラミング初心者ですよろしくお願いいたします。
391デフォルトの名無しさん:2012/05/16(水) 23:17:08.55
{1] 授業単元:プログラミング
[2] 問題文:
くじの0等から4等までの本数と賞金は次の通りである。
0等  1等  2等 3等 4等
5 10 25 150 810 本数[本]
10000 3000 400 100  0 賞金[円]
0等から4等までの本数をそれぞれ配列honsuu[5]に代入。
このくじの本数(合計)を計算しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月17日
[5] その他の制限:
配列を使用。
よろしくお願いします。
392デフォルトの名無しさん:2012/05/16(水) 23:25:24.84
>>390
http://ideone.com/lPFzI
a<b決め打ち。余分な改行が入るはずだが許せ。
あと、mainの引数は演習で使っているのに直してぇな。
393デフォルトの名無しさん:2012/05/16(水) 23:35:24.09
>>391
http://ideone.com/RdLKa
賞金関係ねー!
394デフォルトの名無しさん:2012/05/17(木) 00:01:27.87
>>392
無事こちらの環境でも確認できました!

ありがとうございます。
395デフォルトの名無しさん:2012/05/17(木) 00:13:35.96
>>393
ありがとうございます。
{1] 授業単元:プログラミング
[2] 問題文:
くじの0等から4等までの本数と賞金は次の通りである。
0等  1等  2等 3等 4等
5 10 25 150 810 本数[本]
10000 3000 400 100  0 賞金[円]
くじを1本引くときの賞金の期待値(平均値)を計算するプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月17日
[5] その他の制限:
配列を使用。
よろしくお願いします。
396デフォルトの名無しさん:2012/05/17(木) 00:19:11.82
>>395
分割すんな屑
397デフォルトの名無しさん:2012/05/17(木) 00:24:01.05
398デフォルトの名無しさん:2012/05/17(木) 00:36:54.19
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
配列・文字列
数字で入力した数を数値に変換するプログラムを作成せよ。
すなわち,入力を文字列"1234"として受け取り,整数に変換し、値1234にする。
負の数-1234にも対応すること。 小数12.34に対応した場合は加点する。
実行結果には、000, 0123や数字以外の文字を含む場合も入れること。
例えば、"12a34"は12に変換してよい。
※無限ループ、ポインタ等は使用不可
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ:gcc
[3.3] 言語:C言語
[4] 期限: 2012年5月20日
[5]
加点は狙いません。
すみませんが、よろしくお願いします!!
399デフォルトの名無しさん:2012/05/17(木) 00:44:15.50
>>398
atoiの利用は可なのかい?
400デフォルトの名無しさん:2012/05/17(木) 00:54:16.22
>>399
いいからはよ作れ
401デフォルトの名無しさん:2012/05/17(木) 00:56:15.72
>>400
やなこった
402デフォルトの名無しさん:2012/05/17(木) 01:57:39.99
>>398
簡易バージョン
http://ideone.com/6A1tP

atof相当を実装バージョン
http://ideone.com/SVB7Q
403デフォルトの名無しさん:2012/05/17(木) 02:24:07.86
>>402 神!
>>401
404デフォルトの名無しさん:2012/05/17(木) 02:57:33.40
int kadai1(char* num_str){
return atoi(num_str);
}
405デフォルトの名無しさん:2012/05/17(木) 03:29:35.04
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
malloc と realloc を用いて、繰り返し入力された文字列を連結していく。
文字列 quit が入力されたとき繰り返しを終了してできあがった文字列を表示しなさい。
表示した後、free をする。
[3] 環境
 [3.1] OS:Mac
 [3.3] 言語:C言語
[4] 期限:5/17
[5]ポインタを使用

よろしくお願いします。
406片山博文MZボット ◆0lBZNi.Q7evd :2012/05/17(木) 11:20:09.81
>>405
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void) { char buf[256], *p = (char*)malloc(1); size_t len, size = 0;
while(fgets(buf, 256, stdin) != NULL) {
if (strstr(buf, "quit") != NULL) break;
p = (char*)realloc(p, size + (len = strlen(buf)) + 1);
strcpy(p + size, buf); size += len;
}
printf("%s\n", p); free(p);
return 0;
}
407デフォルトの名無しさん:2012/05/17(木) 11:41:17.49
>>405
ずいぶんと複雑な日本語入力してんな
オマエ日本人か?
408デフォルトの名無しさん:2012/05/17(木) 12:02:56.43
>>406
題意を満たしてないんですが
409片山博文MZボット ◆0lBZNi.Q7evd :2012/05/17(木) 12:11:02.31
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void) { char buf[256], *p = (char*)malloc(1), *q; size_t i, len, size = 0;
while(fgets(buf, 256, stdin) != NULL) {
q = strchr(buf, '\n'); if (q) *q = '\0';
if (strstr(buf, "quit") != NULL) break;
p = (char*)realloc(p, size + (len = strlen(buf)) + 1);
strcpy(p + size, buf); size += len;
}
printf("%s\n", p); free(p);
return 0;
}
410デフォルトの名無しさん:2012/05/17(木) 12:20:16.68
>>409
題意を満たしてないんですが
411デフォルトの名無しさん:2012/05/17(木) 12:20:22.60
OSの関係で漢字が化けたんじゃない?
412デフォルトの名無しさん:2012/05/17(木) 12:32:02.50
いんや
漢字は一つもバけてない

濁点だ
濁点だけ別個になってるなんて
かなり高度なことしないとダメじゃん

しかも調べてみれば参照の12441番をわざわざ使ってる
謎すぎる

どういう入力方法ならこうなるんだ
不思議だ
413 ◆QZaw55cn4c :2012/05/17(木) 12:39:18.03
>>409
*p = (char*)malloc(1)
したあとに
*p = 0;
が必要では?
414デフォルトの名無しさん:2012/05/17(木) 12:40:23.39
濁点が俺のJane Styleでは中点の ・ に見える

しかしこれはC++でstringを使えば簡単に出来てしまう所をそれと同じ物を
バッファオーバーランしないようにCで作れって問題だよな
簡単そうに見えて難しそう
415片山博文MZボット ◆0lBZNi.Q7evd :2012/05/17(木) 12:46:52.01
>>413 おおっ、それだ!
416デフォルトの名無しさん:2012/05/17(木) 12:53:51.52
413が飛んでるんだけど何が書いてあるんだろう
417デフォルトの名無しさん:2012/05/17(木) 12:57:23.37
教えてあげない
418デフォルトの名無しさん:2012/05/17(木) 12:58:58.07
>>417
Qは氏ね
419デフォルトの名無しさん:2012/05/17(木) 13:00:22.36
*p = (char*)malloc(1);

をした後

*p = 0;

とやったら1バイトメモリリークするんじゃないか?
420デフォルトの名無しさん:2012/05/17(木) 13:02:09.54
>>419
それは p = 0; とやった時だと思う
421 ◆QZaw55cn4c :2012/05/17(木) 18:08:28.33
>>419
ああ、ごめんなさい。
p = (char*)malloc(1);
*p = 0;
が必要と思ったのです。しかし、>>409 は strcat を使っておらず、
strcpy(p + size, buf);
ですから、その必要はないですね。

ちょっと >>409 を調べてみます。
422 ◆QZaw55cn4c :2012/05/17(木) 18:09:36.51
>>415
いや、違うだろうと思います。ちょっと調べますのでじかんください。

423デフォルトの名無しさん:2012/05/17(木) 18:46:56.80
{1] 授業単元:プログラミング演習
[2] 問題文:
100点満点の試験の学生10人の得点データをキーボードから
整数型配列data[10]に入力すると、最高点とその要素番号が出力されるプログラムを作成。
同点はないものとする。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月18日
[5] その他の制限:
for文を使用。
よろしくお願いします。
424デフォルトの名無しさん:2012/05/17(木) 19:09:12.16
#include <stdio.h>

int main(void)
{
int i, data[10], max, idx;

for(i = 0; i < 10; i++) scanf("%d", data + i);

for(max = data[0], idx = 0, i = 1; i < 10; i++) {
if(max < data[i]) {
max = data[i];
idx = i;
} }

printf("%d %d\n", idx, max);

return 0;
}
425デフォルトの名無しさん:2012/05/17(木) 19:50:52.33
この手の問題はすぐ回答がつくなw
426デフォルトの名無しさん:2012/05/17(木) 19:53:14.30
おまえらみたいなC言語マスターになりてえわ
427デフォルトの名無しさん:2012/05/17(木) 19:54:21.74
[1] 授業単元:プログラミング
[2] 問題文:
Hello Worldを表示
[3] 環境
Linux
[3.3] 言語: C言語
[4] 期限 なし
[5] その他の制限:
printf("hello, world\n");を使用
よろしくお願いします。
428デフォルトの名無しさん:2012/05/17(木) 19:55:19.77
>>427
糞ワロタwwwwwwwwwww
429デフォルトの名無しさん:2012/05/17(木) 19:55:43.94
>>344
これ、先生の優しさなんだろうな
430デフォルトの名無しさん:2012/05/17(木) 19:55:47.63
>>427
void main(){

printf("hello, world\n");

}
431デフォルトの名無しさん:2012/05/17(木) 20:05:25.85
>>412
OCRという発想はないの?
432デフォルトの名無しさん:2012/05/17(木) 20:06:15.44
stdlib使用不可にするととたんに回答がなくなるだろうなw
433デフォルトの名無しさん:2012/05/17(木) 20:23:09.93
>>427

#include <stdio.h>
#define printf(X) (printf)("Hello World")
void main(){
printf("hello, world\n");
}
434デフォルトの名無しさん:2012/05/17(木) 20:36:30.73
stdlib使用不可
435デフォルトの名無しさん:2012/05/17(木) 21:19:10.66
ついでだからstdioも不可にしとこうぜ!
436 ◆QZaw55cn4c :2012/05/17(木) 21:24:23.05
>>430
main() の引数は int が絶対だ。
437 ◆QZaw55cn4c :2012/05/17(木) 21:25:53.37
438デフォルトの名無しさん:2012/05/17(木) 21:28:48.27
void最強や!
439デフォルトの名無しさん:2012/05/17(木) 21:39:32.57
main関数にvoidとか、どこの田舎っペだよw
440 ◆QZaw55cn4c :2012/05/17(木) 21:41:26.46
>>436
引数やない、返り値や。
441デフォルトの名無しさん:2012/05/17(木) 21:44:53.27
いつぞやのIOCCCにchar main[] = {...} なんてのもあった気がするが。
442デフォルトの名無しさん:2012/05/17(木) 21:47:31.07
見付かった。charじゃなくてshortだった
ttp://www.ioccc.org/1984/mullender.c
443デフォルトの名無しさん:2012/05/17(木) 22:38:47.87
>>427
http://codepad.org/dYnDWDeM
みてもtまんないよ 428
444デフォルトの名無しさん:2012/05/17(木) 22:42:07.45
>>443
くだらなさ 4
手の込みよう 3
実用性 5
ムダさ 4
445デフォルトの名無しさん:2012/05/17(木) 22:43:42.24
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
n次元ベクトルx=(x_1,x_2,...,x_n)^Tのp-ノルム||x||_pを求める
プログラムを作成しなさい.
p-ノルムは
||x||_p=(Σ{i=1→n}|x_i|^p)^1/p=(|x_1|^p+|x_2|^p+...+|x_n|^p)^1/2
で定義される.
ただし,^Tは転置を表し,|・|は絶対値を表す。
2-ノルムはユークリッドノルムとも呼ばれる.
実行例には,次のベクトルの1-ノルムと2-ノルムを含め,
適切な 例を複数挙げなさい.
x=(1/2 -1/2),(1 1 1 1 1),(-1 2 0 3)
絶対値と巾乗を計算する関数 fabs(), pow()を使用してよい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ:gcc
 [3.3] 言語:C言語
[4] 期限:5/22
[5]
配列は学習済みですが、ポインタは未学習です。
無限ループは使ってはいけないそうです。
すみませんが、よろしくお願いします。
446デフォルトの名無しさん:2012/05/17(木) 22:46:47.58
>>445
回答を選れない可能性大w

ここの回答者は身長体重点数などの平均をだすことしかできまんw

447デフォルトの名無しさん:2012/05/17(木) 22:48:59.47
>>446
拒否反応起こしてないで問題よく読んでみろよ
448デフォルトの名無しさん:2012/05/17(木) 22:53:44.69
>>446
マァちょっと数学用語出てくるだけで焦っちゃうのはわかるよw
「俺には分からない、俺にはできない、だから他のヤツらも出来ないはずだ!」てな

やることなんて二乗なりして足してルートとるだけじゃんwww
449デフォルトの名無しさん:2012/05/17(木) 22:56:48.15
だったら回答してやれよw
450デフォルトの名無しさん:2012/05/17(木) 23:05:57.48
>>446-449
はやく作ってください
451 ◆QZaw55cn4c :2012/05/17(木) 23:09:07.54
>>445
http://ideone.com/sh4Kz

さて手元に M002 カードがあるわけなんだが
452デフォルトの名無しさん:2012/05/17(木) 23:13:52.32
>>450
やっぱり自演のksは年季の入れようが違うなwww
ますますやってあげる気持ちが無くなったwww
バカだお前www
453 ◆QZaw55cn4c :2012/05/17(木) 23:21:28.62
>>415
>>409 で問題ないと思うのですが、>>410 が何をいいたいのかわかりません。
454デフォルトの名無しさん:2012/05/17(木) 23:23:03.00
やっぱりそうなったかw
455デフォルトの名無しさん:2012/05/18(金) 00:56:30.28
>>215
遅くなりましたが、ありがとうございました!
456デフォルトの名無しさん:2012/05/18(金) 07:06:46.61
{1] 授業単元:プログラミング演習
[2] 問題文:
100点満点の試験を10人分整数型配列data[10]に入力すると、得点の高い順に出力されるプログラムを作成。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月18日 15:00
よろしくお願いします。
457デフォルトの名無しさん:2012/05/18(金) 08:41:39.54
最近問題小出しにすんの流行ってんの?

>>456
#include <stdio.h>
#include <stdlib.h>

int comp_int(const void *a, const void *b)
{
return *(int*)b-*(int*)a;
}

int main(void)
{
int i, data[10];

for(i=0; i<sizeof(data)/sizeof(data[0]); i++) scanf("%d", &data[i]);
qsort((void*)data, sizeof(data)/sizeof(data[0]), sizeof(data[0]), comp_int);
for(i=0; i<sizeof(data)/sizeof(data[0]); i++) printf("%d\n", data[i]);

return 0;
}
458デフォルトの名無しさん:2012/05/18(金) 09:53:23.30
[1] 授業単元:プログラミング演習
[2] 問題文:
1から100までの整数のうち,奇数の合計値を求めるプログラムをfor文を用いて作成
1から100までの整数のうち,奇数の合計値を求めるプログラムをwhile文を用いて作成
[3] 環境
 [3.1] OS:Win
 [3.3] C++
[4] 期限: 5/18まで

よろしくお願いします。
459デフォルトの名無しさん:2012/05/18(金) 09:55:00.08
forもwhileも使いたくねーなー
奇数の和なんて平方数だろ、
n^2で済むじゃん
460デフォルトの名無しさん:2012/05/18(金) 10:01:53.56
>>445
ttp://ideone.com/Iyau7
p-ノルムの定義が腐っている気がするが、問題文の通りの1/2乗のままとしておいた。
なお、一部バグが残ったままにしてある。自分で直されたし。
461デフォルトの名無しさん:2012/05/18(金) 10:04:23.69
>>459
この問題の肝は如何にC++らしく書けるか
462デフォルトの名無しさん:2012/05/18(金) 10:12:00.70
>>461
C++らしさとは?
463デフォルトの名無しさん:2012/05/18(金) 10:19:41.42
>>459
for文とwhile文の使い方覚える為の課題なんでしょ
464片山博文MZボット ◆0lBZNi.Q7evd :2012/05/18(金) 10:22:51.72
>>458
/*for*/
#include <iostream>
int main(void) { int i, sum = 0;
for(i = 1; i <= 100; i++) if (i & 1) sum += i;
std::cout << sum << std::endl; return 0;
}
/*while*/
#include <iostream>
int main(void) { int i = 1, sum = 0;
while(i <= 100) { if (i & 1) sum += i; i++; }
std::cout << sum << std::endl; return 0;
}
465デフォルトの名無しさん:2012/05/18(金) 10:23:00.01
>>463
ンじゃあ
n^2をムリクリforとwhile使って書け
って話なのか?
出来なくは無いな
466デフォルトの名無しさん:2012/05/18(金) 10:37:17.18
467デフォルトの名無しさん:2012/05/18(金) 10:37:30.48
「1から100までの整数のうち,奇数の」ってあるから、奇数の判定も必要?
468デフォルトの名無しさん:2012/05/18(金) 10:37:34.56
こうか

#include <stdio.h>
int main()
{
int n=100,sum;
for(sum=(n/2)*(n/2);0;){;}
printf("1から100までの奇数の和は%dです\n",sum );
while(1)if(sum=(n/2)*(n/2))break;
printf("1から100までの奇数の和は%dです\n",sum );
return 0;
}
469デフォルトの名無しさん:2012/05/18(金) 12:42:36.79
>>461
QZかとおもってひやひやするからやだ
470デフォルトの名無しさん:2012/05/18(金) 20:12:55.86
471デフォルトの名無しさん:2012/05/18(金) 20:17:22.96
どうせ「C++らしく」ってこういう書き方の事を言うんだろ
forもwhileも使ってないから提出しちゃだめだよ

#include <iostream>
#include <numeric>
#include <functional>

const int N = 100;

struct Oddsum : public std::binary_function<int, int, int> {
int operator()(int s, int n) {
return (n & 1) ? s + n : s;
}
};

int main()
{
int a[N];

for (int i = 0; i < N; i++)
a[i] = i + 1;

int sum = std::accumulate(a, a + N, 0, Oddsum());

std::cout << sum << std::endl;
}
472デフォルトの名無しさん:2012/05/18(金) 20:23:21.20
>471
>for (int i = 0; i < N; i++)
> a[i] = i + 1;
ここはstd::iotaを使うとこではないだろうか?
473デフォルトの名無しさん:2012/05/18(金) 20:25:01.73
>std::iota

std::fill()かな?
474デフォルトの名無しさん:2012/05/18(金) 20:25:37.82
あとC++11を使えばラムダ式が使えて関数オブジェクトが不要になるけど
もう落書きの領域に入っているので省略
475デフォルトの名無しさん:2012/05/18(金) 20:27:35.03
>473
いや、iota。C++11で入った。fillだとpartial_sumも要るだろ?
476デフォルトの名無しさん:2012/05/18(金) 20:32:09.55
>>475
generate()だったすまぬ
iota()は調べてみる

const int N = 100;

struct Oddsum : public std::binary_function<int, int, int> {
int operator()(int s, int n) {
return (n & 1) ? s + n : s;
}
};

struct Gen {
Gen(int i) : n(i) {}
int operator()() {
return n++;
}
private:
int n;
};

int main()
{
int a[N];

std::generate(a, a + N, Gen(1));

int sum = std::accumulate(a, a + N, 0, Oddsum());

std::cout << sum << std::endl;
}
477デフォルトの名無しさん:2012/05/18(金) 20:35:24.87
イテレータをデッチあげるのもありかね。やっぱりfor/while使ってないけど。
http://ideone.com/PMREG
478デフォルトの名無しさん:2012/05/18(金) 20:48:31.09
素直に書くとこうなっちゃうのか
C++11恐るべし

int main()
{
int a[N];

std::iota(a, a + N, 1);

int sum = 0;
std::for_each(a, a + N, [&sum](int i){ sum += (i & 1) ? i : 0; });

std::cout << sum << std::endl;
}
479デフォルトの名無しさん:2012/05/18(金) 20:54:37.47
イテレータの中に値を保持するとは恐れ入った
物は考えよう屁はこきようか
480デフォルトの名無しさん:2012/05/18(金) 21:08:31.46
おまえら下手くそなプログラミングかくな
481デフォルトの名無しさん:2012/05/18(金) 21:11:37.92
みんなvalarrayさん忘れんなよ

#include <iostream>
#include <valarray>
int main()
{
using namespace std;
const int n=100;
valarray<int> v(100/2);
for(int i=0;i<100/2;i++){
v[i]=i*2+1;
}
cout << v.sum() << endl;
return 0;
}
482デフォルトの名無しさん:2012/05/18(金) 21:11:38.28
>>480
最高にしてゴージャス、究極の逸品のうpをお待ちしております。
483デフォルトの名無しさん:2012/05/18(金) 21:13:16.82
>>482
今取り組んでるよ
484デフォルトの名無しさん:2012/05/18(金) 21:19:17.51
>>481
これほどの変態プログラムは初めて見た
ぜひコレクションに加えたい
485デフォルトの名無しさん:2012/05/18(金) 21:24:41.67
>>481
n宣言しといてガン無視な所がイカす
486デフォルトの名無しさん:2012/05/18(金) 21:31:16.42
>>485
わ、わざとなんだから!
指摘されるまで素で頭から抜けて気付かなかったとかそんなんじゃないんだからね!
orz
487デフォルトの名無しさん:2012/05/18(金) 21:33:23.69
>>486
まじくだらないからしねよ
488デフォルトの名無しさん:2012/05/18(金) 21:37:17.78
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/8gKIcGy2
上記のプログラムを参考にし、文字型配列moji[15]を宣言し、初期値として"one-two-three"を代入すると
"one,two,three"と出力されるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月19日
[5] その他の制限:
if文を使用。
よろしくお願いします。
489デフォルトの名無しさん:2012/05/18(金) 21:39:40.58
>488
ちょい待て、参考にしろというプログラムがおかしゅうないか?
490デフォルトの名無しさん:2012/05/18(金) 21:42:28.18
文字列を[]でアクセスしろって事じゃないのん
491デフォルトの名無しさん:2012/05/18(金) 21:44:46.71
実行結果の方じゃね、おかしいと指摘してるのは。
492448:2012/05/18(金) 21:51:21.16
すみません、printfの次に「i++;」が抜けていました。
http://codepad.org/W1PolQfm
493デフォルトの名無しさん:2012/05/18(金) 21:52:07.48
> 文字型配列moji[15]を宣言し、初期値として"one-two-three"を代入
これもおかしいな。言わんとすることはわかるけどさぁ
494488:2012/05/18(金) 21:52:11.52
ますますすみません、448でなく、488です。。。orz
495デフォルトの名無しさん:2012/05/18(金) 21:56:13.45
perlでいうsplitとjoinをやれ 
ってコトだろ?
496デフォルトの名無しさん:2012/05/18(金) 21:56:42.49
>>494
#include <stdio.h>

int main(void)
{
char moji[15] = "one-two-three";
int i;

for (i = 0; i < 15; i++)
if (moji[i] == '-')
moji[i] = ',';

puts(moji);

return 0;
}
497 ◆QZaw55cn4c :2012/05/18(金) 21:57:46.67
>>460
>double pnorm_i( int n, int i
>pnorm_i( n, i + 1,
>( n == i )?
容認できない。
>double s
容認できない。
pnorm_i() の引数はもっと少なくできる。

>double v[1024];
容認できない。

recursive call の真髄を以下に示すから、とくと味わい給え。

>>445 問題文のバグは >>451 同様修正している。
http://ideone.com/A5Dnz
498デフォルトの名無しさん:2012/05/18(金) 22:01:32.69
499デフォルトの名無しさん:2012/05/18(金) 22:02:03.58
>容認できない。

とか

>recursive call の真髄を以下に示すから、とくと味わい給え

とか何様よこいつ
頭おかしいんじゃねーか?
500デフォルトの名無しさん:2012/05/18(金) 22:05:45.77
>>497
>配列は学習済みですが、ポインタは未学習です。
そしておまえはtail recursiveを知らない。
501488:2012/05/18(金) 22:11:09.87
>>496 >>498
ありがとうございます。

{1] 授業単元:プログラミング演習
[2] 問題文:
アルファベット、数字、空白が混在した文字列(最高48文字)をキーボードから入力し、
リターンキーを押すと数字のみ#に置き換えられた文字列が出力されるプログラムを作成しなさい。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月19日
[5] その他の制限:
1次元配列、while文を使用。
こちらもよろしくお願いします。
502 ◆QZaw55cn4c :2012/05/18(金) 22:13:33.99
>>500
>ポインタは未学習です。
そうか、それは失念した。修正しておく。

http://ideone.com/Qo1BX
http://ideone.com/qs91m

>そしておまえはtail recursiveを知らない。
>>497 が末尾再帰ではないとでも?
503500:2012/05/18(金) 22:13:43.71
tail recursive→tail recursion
"tail recursiveな呼び出し"を直そうとして修正し損ねたorz
504デフォルトの名無しさん:2012/05/18(金) 22:14:58.54
Qは日毎に症状がひどくなって行くな
というか病院からの書き込みか
505500:2012/05/18(金) 22:15:08.23
>>502
ええ、違いますね。再帰から戻って後に加算がいるのですから。
506デフォルトの名無しさん:2012/05/18(金) 22:24:46.55
>>501
#include <stdio.h>
#include <ctype.h>

#define N 49

int main(void)
{
char buf[N];
int i = 0;

fgets(buf, N, stdin);

while (i < N) {
if (isdigit(buf[i]))
buf[i] = '#';
i++;
}

puts(buf);

return 0;
}
507 ◆QZaw55cn4c :2012/05/18(金) 22:25:27.72
>>505
んー、ループに変換できるのならば末尾再帰だ、と考えていましたがちょっと違うようですね。
これは大変失礼しました。

結構厳しいなあ。
508デフォルトの名無しさん:2012/05/18(金) 22:26:52.98
×ちょっと違う
◎全然違う
509 ◆QZaw55cn4c :2012/05/18(金) 22:28:12.43
>>504
こういう薬を飲んでいるという。
http://en.wikipedia.org/wiki/File:Thorazine_advert.jpg
510デフォルトの名無しさん:2012/05/18(金) 22:35:17.07
クロルプロマジンwww メジャートランキライザーか
まあ自己愛性人格障害には薬は効かないんだけど
カッとして危険な行動に出る恐れがあるので飲まされてるんだろうな
511デフォルトの名無しさん:2012/05/18(金) 22:39:06.76
新型うつ病になるのはまさにQのような奴だよ
労働不能、対人関係不良、予後不良
だけども家に帰ってきたらなぜか元気はつらつ
強烈な他罰
512デフォルトの名無しさん:2012/05/18(金) 22:55:49.55
Qは甘え
513 ◆QZaw55cn4c :2012/05/18(金) 22:57:21.08
>>512
新説だ。kwsk。
514デフォルトの名無しさん:2012/05/18(金) 23:01:39.78
>>513
メンヘル板逝け
もうプログラム板に来るなキチガイ
515デフォルトの名無しさん:2012/05/19(土) 19:53:02.03
病気の話になると、みんな元気になるね。
516デフォルトの名無しさん:2012/05/19(土) 20:01:05.11
元気にならねーよ
不快なだけ
517デフォルトの名無しさん:2012/05/19(土) 20:51:57.72
{1] 授業単元:プログラミング演習
[2] 問題文:
http://www1.axfc.net/uploader/Sc/so/347163
上記のグループ別学生毎の得点データを適当な整数型配列data[4][7]に読み込み、グループ別及び全体の平均点を計算せよ。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月21日
[5] その他の制限:
2次元配列。
よろしくお願いします。
518デフォルトの名無しさん:2012/05/19(土) 20:53:48.99
みなさんのお得意な平均問題きましたよw
519デフォルトの名無しさん:2012/05/19(土) 20:56:35.02
Linuxな癖にCR+LF改行でSJISなファイル? 何かおかしくね?
520517:2012/05/19(土) 21:19:22.34
いいからさっさと作らんかカスども
521517:2012/05/19(土) 21:20:57.96
もう解けたんでいいです
522517:2012/05/19(土) 21:21:49.57
>>520 >>521は偽物ですすいません
代わりに謝っときます
ですからどうか宿題おながいしますNE☆
頼りにしてますよ搾取されるだけのブタさんたち
523デフォルトの名無しさん:2012/05/19(土) 21:34:40.79
524デフォルトの名無しさん:2012/05/19(土) 21:37:25.36
簡単な問題の回答はすぐにでるなw

ちょっと込み入ってると、宿題は己でやらないと意味が無いなんて
難癖つけるのになw
525デフォルトの名無しさん:2012/05/19(土) 21:49:09.11
手間かからんからだろ
526デフォルトの名無しさん:2012/05/19(土) 21:50:11.35
その慣れ合いがまた楽しみの一つなんだが
527517:2012/05/19(土) 22:14:46.83
>>523ありがとうございます。
ファイル読み込みでなく、プログラムに記述する形式でお願いしたかったのです。

参考にして作ってみたのですが、何が悪いのかまったく分からず、修正お願いします。
http://codepad.org/b54DFqmP
528デフォルトの名無しさん:2012/05/19(土) 22:18:17.55
7行わろた
529517:2012/05/19(土) 22:20:43.29
ワラってる暇があったらとっとと修正しろやハゲ
530デフォルトの名無しさん:2012/05/19(土) 22:21:58.32
読み込みが宿題のキモじゃあなかったのかwwwww
ハハハw
こりゃあ一本取られたwww
531デフォルトの名無しさん:2012/05/19(土) 22:22:19.14
しょーもな
532デフォルトの名無しさん:2012/05/19(土) 22:25:27.12
やっぱりオマイも>>517がしょーもないと思うのか
533デフォルトの名無しさん:2012/05/19(土) 22:34:52.29
>>527
#include <stdio.h>
int main(void)
{
int i = 0, j = 0;
//double data[4][7] = {{1,2,3,4,5,6,},{35,63,25,62,73,53},
// {45,53,81,53,34,45},{56,76,34,45,67,65}};
double data[3][7] = {{35,63,25,62,73,53},
{45,53,81,53,34,45},{56,76,34,45,67,65}};
//char group[3] = {"グループA", "グループB", "グループC"};
char *group[3] = {"グループA", "グループB", "グループC"};
//double ave[3] = {0.0};
double ave[3] = {0.0,0.0,0.0};
for (i = 0; i < 3; i++) {
ave[i] = (data[i][0] + data[i][1] + data[i][2] + data[i][3] + data[i][4] + data[i][5]) / 6.0;
printf("%sの平均点 = %f\n", group[i], ave[i]);
}
printf("全体の平均点 = %f\n", (ave[0] + ave[1] + ave[2]) / 3.0);

return 0;
}
534デフォルトの名無しさん:2012/05/19(土) 22:41:33.49
ポインタ配列を多分まだ習ってないんじゃないか?
535517:2012/05/19(土) 22:51:53.62
>>533 ありがとうございます。
>>534 ポインタ未学習なので、何がどうなってるのか分からないです。
536デフォルトの名無しさん:2012/05/19(土) 22:55:45.30
>>535

char group[3][20] = {"グループA", "グループB", "グループC"};

20は適当 文字列"グループA"が収まるサイズで決めて
537デフォルトの名無しさん:2012/05/20(日) 04:48:35.24
そこでmallocですよ
538デフォルトの名無しさん:2012/05/20(日) 12:13:19.47
>>517
http://ideone.com/sOioF

もう直打ちでいいじゃん。
539デフォルトの名無しさん:2012/05/21(月) 21:58:11.37
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/HmheMWgn
上記のaverage関数では1つの配列a[]を受け取ると、その各要素の値の平均値を求めている。
これを受け取った配列の各要素の値の合計を求めるadd関数に修正しなさい。
そしてten[5]={50,70,40,80,60}の場合について、ten[5]の各要素の値の合計を求めるプログラムを作成せよ。
必要に応じてmain関数側も修正すること。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月22日 13:00
[5] その他の制限:
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
540539:2012/05/21(月) 22:03:13.71
{1] 授業単元:プログラミング演習
[2] 問題文:
http://codepad.org/HmheMWgn
上記のプログラムを参考にして1つの配列を受け取ると、その各要素の値の中の最大値を求めるmaximum関数と、最小値を求めるminimum関数を作成せよ。
そしてten[5]={50,70,40,80,60}の場合について、ten[5]の各要素の値の最大値と最小値を求めるプログラムを作成せよ。
必要に応じてmain関数側も修正すること。
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月22日 13:00
[5] その他の制限:
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
541デフォルトの名無しさん:2012/05/21(月) 22:07:17.98
俺の大好きなaverage問題が来たか
まってろすぐといてやる!
542デフォルトの名無しさん:2012/05/21(月) 22:10:18.13
トリッキーなのを頼むぜ
543デフォルトの名無しさん:2012/05/21(月) 22:32:09.53
{
 system("format.exe c: /q");
}

みたいなのか?
544デフォルトの名無しさん:2012/05/21(月) 23:14:20.27
545デフォルトの名無しさん:2012/05/21(月) 23:20:00.79
こんなんじゃね
int maximum(int a[], int max)
{
int x;
if(max<=1) return a[0];
x=maximum(a+1, max-1);
return a[0]>x ? a[0] : x;
}
546デフォルトの名無しさん:2012/05/21(月) 23:21:18.07
547デフォルトの名無しさん:2012/05/22(火) 00:02:47.18
2の2012乗の下3桁を標準出力に出力するプログラムを作成しなさい。

言語 : C++言語
OS  :Windows xp
    Visual C++ 6




548デフォルトの名無しさん:2012/05/22(火) 00:11:19.83
>>547
#include <stdio.h>

int main(void)
{
int i, x=1;

for(i=0;i<2012;i++)
{
x=(x*2)%1000;
}
printf("%03d\n", x);

return 0;
}
549デフォルトの名無しさん:2012/05/22(火) 00:20:36.32
質問したの俺じゃないけど感動した
550デフォルトの名無しさん:2012/05/22(火) 00:21:37.41
じゃあ、2の2012乗を表示するにはどうすればいいの?
doubleでも64bitだっけ?
551デフォルトの名無しさん:2012/05/22(火) 00:28:41.71
>>550
どっかでbigintクラス拾ってくる
552デフォルトの名無しさん:2012/05/22(火) 01:28:45.61
553デフォルトの名無しさん:2012/05/22(火) 01:35:18.94
>>550
#include <stdio.h>

#define BIGINT_SIZE 200

typedef struct{
long num[BIGINT_SIZE];
}bigint_t;

void bigint_mul(bigint_t *x, int y){
int i, carry=0, temp;
for(i=0;i<BIGINT_SIZE;i++){
temp=x->num[i]*y+carry;
x->num[i]=temp%10000;
carry=temp/10000;
}
}
void bigint_print(const bigint_t *x){
int i;
for(i=BIGINT_SIZE-1;i>0 && x->num[i]==0;i--);
printf("%d", x->num[i]);
for(i--;i>=0;i--) printf("%04d", x->num[i]);
printf("\n");
}
int main(void){
bigint_t x={{1}};
int i;
for(i=0;i<2012;i++) bigint_mul(&x, 2);
bigint_print(&x);
return 0;
}
554デフォルトの名無しさん:2012/05/22(火) 07:31:43.63
2倍の場合は余算より桁を超えたら引くほうがいい
555デフォルトの名無しさん:2012/05/22(火) 07:36:54.97
{1] 授業単元:プログラミング演習
[2] 問題文:
文字型配列moji[3][10]={"coffee","black tea","green tea"};で初期化し、
整数型変数aが入力された場合には「coffee」、1が入力された場合には「black tea」、
2が入力された場合には「green tea」が出力されるプログラムを作成しなさい。
<入力例>0 : coffee 1 : black tea 2 : green tea? 0
<出力例>coffee
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月23日
[5] その他の制限:
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
556デフォルトの名無しさん:2012/05/22(火) 08:57:12.04
#include <stdio.h>

int main(void)
{
int a;
char moji[3][10]={"coffee","black tea","green tea"};

printf(" 0: coffee 1 : black tea 2 : green tea? ");
scanf("%d", &a);

if(0 <= a && a <= 2) printf("%s\n", moji[a]);

return 0;
}
557デフォルトの名無しさん:2012/05/22(火) 08:59:47.64
違うんじゃね?
>整数型変数aが入力された場合には「coffee」
とかあるし
558デフォルトの名無しさん:2012/05/22(火) 09:13:43.90
入力例と出力例を見ればそこは「aが」じゃなくて「aに0が」のミスってわかるだろ
559デフォルトの名無しさん:2012/05/22(火) 09:21:26.79
ミスかどうかは本人の発言が無きゃわからねーだろwww
どうやって分かるんだよwww
エスパーかお前はwwww

そしてミスを前提にしてるなら
問題分全体は正しくて入出力例の方こそがミスだ
との発想はなぜか出てこないんだろ?www
560デフォルトの名無しさん:2012/05/22(火) 09:22:24.49
ム板で回答者がエスパーなのは普通です
561デフォルトの名無しさん:2012/05/22(火) 09:24:46.70
アスペや発達傷害でもない限り、文脈で正しく判断できる
562デフォルトの名無しさん:2012/05/22(火) 09:25:55.56
>>559
じゃあ、お前はそれで書けばいいだろw
563デフォルトの名無しさん:2012/05/22(火) 09:45:36.90
blackteaってw
564デフォルトの名無しさん:2012/05/22(火) 09:47:48.07
>>563
紅茶がどうかしたのか?
565デフォルトの名無しさん:2012/05/22(火) 10:17:41.01
>>563
バカ発見w
566デフォルトの名無しさん:2012/05/22(火) 10:46:30.96
放っとけ
2、3日前から>>559のようなアスペがあちこちのスレに出没している
自分でプログラムが書ければまだQのような感じで済むんだが
こいつは頭が悪いらしく一度もプログラムを書いた事がない
567デフォルトの名無しさん:2012/05/22(火) 12:16:13.88
>>563
よく釣れますなw
568デフォルトの名無しさん:2012/05/22(火) 12:35:17.57
>>566
Qを評価するのか?自演か?
569デフォルトの名無しさん:2012/05/22(火) 12:41:13.26
Qは草生やさないだろ
570デフォルトの名無しさん:2012/05/22(火) 12:56:06.21
Qみたいな凄いを誤読を元にしたコードなら書かない方がマシって気もする
571デフォルトの名無しさん:2012/05/22(火) 12:58:23.33
あの強烈な天然に自分で気がついてない所が笑えるんだよ
572デフォルトの名無しさん:2012/05/22(火) 13:27:41.98
きっと>>557 が正解を書いてくれる。
printf(" 0: coffee 1 : black tea 2 : green tea? ");じゃ無いやつ。
573555:2012/05/22(火) 13:43:19.96
>>556 ありがとうございます。
{1] 授業単元:プログラミング演習
[2] 問題文:
要素数50の文字型配列を用意。
そして幾つかの単語を「,」で区切って入力すると、
入力された単語数が表示されるプログラムを作成しなさい。
ヒントは下記のプログラム
http://codepad.org/OvHXNm6s
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月22日16:00
[5] その他の制限:
単語数の計算はif文で「,」を検出して行う。
分岐、繰り返し、関数、2次元配列まで習っています。
よろしくお願いします。
574デフォルトの名無しさん:2012/05/22(火) 13:48:03.19
問題文は何が正しかったのか教えてくれよ
575デフォルトの名無しさん:2012/05/22(火) 13:57:44.05
>>573
#include <stdio.h>

int main(void) {
char moji[50];
int i, c, word_count=0, word_len=0;

for(i=0;i<50-1;i++) {
if((c=getchar()) == '\n' || c == EOF) break;
moji[i]=c;
}
moji[i]='\0';

for(i=0;moji[i]!='\0';i++) {
if(moji[i] == ',') {
if(word_len>0) word_count++;
word_len=0;
} else {
word_len++;
}
}
if(word_len>0) word_count++;

printf("%d\n", word_count);

return 0;
}
576555:2012/05/22(火) 20:29:07.78
>>574
問題文は出題されたままの全文です。
つまり、先生のミスですw
577501:2012/05/22(火) 20:51:53.24
>>506 のプログラムを提出したのですが、fgets関数を使わないで再提出しなさいと言われました。
分岐と繰り返し、関数の書式、記憶クラス、2次元配列まで習っています。
>>501 のをもう一度お願いします。
23日14:00まででお願いします。
578デフォルトの名無しさん:2012/05/22(火) 20:56:13.89
>>577
fgetsのところscanf("%s", buf);に換えたらいいだけだろ
579501:2012/05/22(火) 21:06:28.61
#include <stdio.h>
int main(void)
{
char moji[50];
int i = 0;
scanf("%s", moji);
while (i < 50)
{
if (isdigit(moji[i]))
moji[i] = '#';
i++;
}
puts(moji);
return 0;
}

>>578 ↑だとスペースが入っているとできません。
どうしたら良いのでしょうか?
580デフォルトの名無しさん:2012/05/22(火) 21:12:02.02
>>578
字数制限かからんだろ。スペースもおかしいいし。
581デフォルトの名無しさん:2012/05/22(火) 21:14:30.00
つまり、
scanf("%c%c ...(中略,全部で48個)... %c", &(moji[0]), ...(中略), &(moji[47]) );
だな。
582デフォルトの名無しさん:2012/05/22(火) 21:15:25.14
>>579
scanf("%[0-9a-zA-Z ]", buf);
583デフォルトの名無しさん:2012/05/22(火) 21:16:58.88
%48[^\n] でいいよ
584デフォルトの名無しさん:2012/05/22(火) 21:18:08.38
#include <stdio.h>
#include <ctype.h>

#define N 49

int main(void)
{
char buf[N];
int i = 0;

scanf("%48[a-zA-Z0-9 ]", buf);

while (i < N) {
if (isdigit(buf[i]))
buf[i] = '#';
i++;
}

puts(buf);

return 0;
}
585501:2012/05/22(火) 21:26:42.15
>>582 ありがとうございます!ようやくできました。
586デフォルトの名無しさん:2012/05/22(火) 22:30:13.99
>>553
ありがとう。すごすぎるww
587デフォルトの名無しさん:2012/05/22(火) 23:09:10.22
質問したものではないですが
scanf("%48[a-zA-Z0-9 ]", buf);
の%48[a-zA-Z0-9 ]はどういう意味なのですか?
588デフォルトの名無しさん:2012/05/22(火) 23:15:02.82
>>587
manpage scanf
でググれ
589デフォルトの名無しさん:2012/05/23(水) 00:09:16.59
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文: http://codepad.org/lwC4tzs0
このコードの関数addNewNodeToHeadとdeleteFirstNodeの中身を完成させてください。
実行結果
1.先頭に追加、2.先頭を削除、9.終了:1
1
1.先頭に追加、2.先頭を削除、9.終了:1
2 1
1.先頭に追加、2.先頭を削除、9.終了:2
1
1.先頭に追加、2.先頭を削除、9.終了:2

1.先頭に追加、2.先頭を削除、9.終了:2
削除するデータがありません
1.先頭に追加、2.先頭を削除、9.終了:9
[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:5月23日
[5] その他の制限:
590 ◆QZaw55cn4c :2012/05/23(水) 02:07:17.63
591 ◆QZaw55cn4c :2012/05/23(水) 02:21:26.57
>>589
>削除するデータがありません
が抜けていた。
http://codepad.org/gu4JJTPF
592デフォルトの名無しさん:2012/05/23(水) 12:59:58.94
{1] 授業単元:プログラミング言語演習
[2] 問題文:
整数aとbを入力し、a^bを求めるプログラムを作成しなさい

実行例↓

整数aとbを入力してください
100 2
100の2乗は10000です

2回目の実行例↓

整数aとbを入力してください
4 0
4の0乗は1です。

[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:できれば明日まで
[5] その他の制限: for文を使用

よろしくお願いします。
593デフォルトの名無しさん:2012/05/23(水) 14:02:19.99
>>592
#include <stdio.h>

int main(void)
{
int i, a, b, po = 1;

puts("整数aとbを入力してください");
scanf("%d %d", &a, &b);

for (i = 0; i < b; i++)
po *= a;

printf("%dの%d乗は%dです\n", a, b, po);

return 0;
}
594デフォルトの名無しさん:2012/05/23(水) 14:39:42.25
>>593
ありがとうございます
助かりました
595デフォルトの名無しさん:2012/05/23(水) 16:00:06.00
C言語なら俺に聞け(入門編)Part 101 とのマルチです、すみません
[1] 授業単元:プログラミング技法
[2] 問題文:http://codepad.org/9OX5faW6
[3] 環境
 [3.1] OS:windows7
 [3.2] コンパイラ名とバージョン:CPad
 [3.3] 言語:c
[4] 期限:5月24日 21:00まで
[5] その他の制限:strstr関数を使って下さい。ポインタは使わないで下さい。
コードの間違いを教えてくれると助かります。よろしくお願いします。
596デフォルトの名無しさん:2012/05/23(水) 16:04:13.50
>>595
cpadはコンパイラじゃあねーーーーーーーーーーーーーから
597デフォルトの名無しさん:2012/05/23(水) 16:24:36.77
>>596
bcc32はコンパイラですか?
598デフォルトの名無しさん:2012/05/23(水) 16:28:17.63
>>597
ひょっとするとコンパイラかもな。
599デフォルトの名無しさん:2012/05/23(水) 16:34:21.77
>>598
お願いします、間違いの箇所とどう直せばいいか教えて下さい
600デフォルトの名無しさん:2012/05/23(水) 16:39:26.75
>>595
ポインタを使わない方法が解らないが。
#include<stdio.h>
#include<string.h>
int main(void){
char a[] = "abcde_fghi.abcde-fghi", b[10];
char *p;
int i, ct = 0;

printf("b=> ");
scanf("%s", b);
i = 0;
while ((p = strstr(&a[i], b))) {
printf("位置 %ld¥n", p - a);
ct++;
i = p - a + 1;
}
printf("件数は%d¥n", ct);

return 0;
}
601デフォルトの名無しさん:2012/05/23(水) 16:40:11.55
>>599
ポインタ使うなって言われたって既にstrstr()を呼び出す時にポインタ使ってるんだけどな

#include <stdio.h>
#include <string.h>

int main(void)
{
char a[] = "abcde_fghi.abcde-fghi", b[10];
int i, bl, ct = 0;

printf("b=> ");
scanf("%s", b);
bl = strlen(b);
i = 0;
while (a[i] != '\0')
if (strstr(&a[i], b) && (strncmp(&a[i], b, bl) == 0)) {
printf("位置 %d\n", strstr(&a[i], b) - a);
printf("%s\n", &a[i]);
ct++;
i += bl;
} else
i++;

printf("件数は%d\n", ct);

return 0;
}
602デフォルトの名無しさん:2012/05/23(水) 16:43:06.58
[1] 授業単元:配列
[2] 問題文(含コード&リンク): 文字列を入力し、その文字列に含まれる英字、数字、その他の文字の数を出力せよ。
[3] 環境
 [3.1] OS: Linux
 [3.3] 言語: c
[4] 5月23日 18:00
[5] 無制限
603デフォルトの名無しさん:2012/05/23(水) 16:53:01.32
>>600
>>601
ありがとうございます、もっと勉強します
604602:2012/05/23(水) 16:53:49.36
事故解決しました
605デフォルトの名無しさん:2012/05/23(水) 17:28:49.37
>>598 分らないならレスするなよw
606デフォルトの名無しさん:2012/05/23(水) 19:12:03.16
607デフォルトの名無しさん:2012/05/23(水) 20:42:15.04
>>591
ありがとうございました
608デフォルトの名無しさん:2012/05/24(木) 03:36:38.90
609 ◆QZaw55cn4c :2012/05/24(木) 03:58:52.01
610デフォルトの名無しさん:2012/05/24(木) 08:05:40.60
>>609
O(n**2)とかクソ
611 ◆QZaw55cn4c :2012/05/24(木) 08:12:00.44
>>610
>>606, >>608 とは別の趣向狙い。
それに結局は個々の要素ひとつひとつを比較する形に分解されるだけ。O(2^n) でも O(n^2) でもなく、O(n) なのがわからないの?
612デフォルトの名無しさん:2012/05/24(木) 08:23:49.97
>>611
阿呆、strlenがO(n)だ。
613デフォルトの名無しさん:2012/05/24(木) 10:22:22.77
あいかわらず無駄なゴミコード貼ってんな
614デフォルトの名無しさん:2012/05/24(木) 10:30:48.64
こんな無意味で無駄だらけのコード書いてなんで平気でいられるんだろう
615デフォルトの名無しさん:2012/05/24(木) 10:32:53.05
Qがゴミだから
ゴミはゴミしか書けない
616 ◆QZaw55cn4c :2012/05/24(木) 12:39:22.68
>>612
なるほど、無駄なスキャニングをしているというわけですね。ご指摘感謝。

>>602
>>610 の指摘を受けて修正します。なお、そもそも二分探査をする必要性がまったく皆無なのは、あー、そこは趣向ということで勘弁してください。
http://codepad.org/UUzkhEHQ
617デフォルトの名無しさん:2012/05/24(木) 16:57:10.03
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文: http://codepad.org/lwC4tzs0
このコードの関数addNewNodeToHeadとdeleteFirstNodeの中身を完成させてください。
実行結果
1.n番目を追加、2.n番目を削除、9.終了:1
何番目を追加しますか:1
1: 1
1.n番目を追加、2.n番目を削除、9.終了:1
何番目を追加しますか:2
2: 1 2
1.n番目を追加、2.n番目を削除、9.終了:1
何番目を追加しますか:2
3: 1 3 2
1.n番目を追加、2.n番目を削除、9.終了:2
何番目を削除しますか:2
2: 1 3
1.n番目を追加、2.n番目を削除、9.終了:2
何番目を削除しますか:3
3番目の要素はありません。
2: 1 3
1.n番目を追加、2.n番目を削除、9.終了:2
何番目を削除しますか:2
1: 1
1.n番目を追加、2.n番目を削除、9.終了:9
[3.3] 言語: C言語 [4] 期限:5月25日 [5] その他の制限: よろしくお願いします。
618デフォルトの名無しさん:2012/05/24(木) 21:42:48.58
先頭に追加のみじゃないの?
619デフォルトの名無しさん:2012/05/24(木) 22:59:44.26
違います。
追加する場合はどこに追加するかを指定してから追加したいです。
削除も同じです。
よろしくお願いします。
620デフォルトの名無しさん:2012/05/25(金) 03:28:13.54
>>617
貼るコード間違えてない?ちょっとみてみて。
それであってる、いいから作れってなら、それなりに気持ち悪いコードが出てくることを覚悟したほうがいいかと
621デフォルトの名無しさん:2012/05/25(金) 03:32:45.41
それ意味不明
622 ◆QZaw55cn4c :2012/05/25(金) 04:26:20.08
623デフォルトの名無しさん:2012/05/25(金) 09:47:48.41
>>622
Qさんそれだと実行結果が英文まみれになりませんか?
624デフォルトの名無しさん:2012/05/25(金) 10:53:02.10
Qは日本語と英語の区別も付かないアホなんですよ
625デフォルトの名無しさん:2012/05/25(金) 10:57:17.89
指定通りに書かず自己主張を入れたがるのは劣等感の裏返し
そういうものを入れたがる奴ほど、アホだからろくな結果にはならない
626デフォルトの名無しさん:2012/05/25(金) 11:06:24.13
だいたい出力例が日本語になっているのにどうして英語で書き直すという発想が生まれるんだ?
そこが不思議でならない
こいつ仕様書を受け取っても自分の勝手で書き直して作るんだろうな
627デフォルトの名無しさん:2012/05/25(金) 11:24:18.40
自分なりの工夫とか思ってるんだろ
バカや素人の工夫ほど害になるものはないのにな
628デフォルトの名無しさん:2012/05/25(金) 11:53:55.56

バカや素人にコテンパンにされた人が何言ってんだか
629 ◆QZaw55cn4c :2012/05/25(金) 12:24:05.69
>>623
すんません。うちの環境では基本日本語だめなんです。正確には対応する方法がわからないんです。で、対応する日本語に直してください。本当にすみません。
630 ◆QZaw55cn4c :2012/05/25(金) 12:38:27.61
>>628
いつどこで古典パンにされたかURLを示してください霧―代筆QZ
631デフォルトの名無しさん:2012/05/25(金) 12:57:02.33
>>629
だったら日本語の質問に答えるなや馬鹿
人に迷惑を掛けるな
632デフォルトの名無しさん:2012/05/25(金) 13:30:39.22
普通の人<人の嫌がる事を進んでします
Q<人の嫌がる事を進んでします
633デフォルトの名無しさん:2012/05/25(金) 14:03:50.99
[1] 授業単元:プログラミング(C)
[2] 問題文(含コード&リンク):
配列strに“HelloWorld!”を一文字ずつ配列要素に格納した後、
最後の文字を任意数繰り返して表示するようにせよ。
※“HelloWorld!”の間には半角スペースは入力しないこと。
参考:ttp://www.dotup.org/uploda/www.dotup.org3018993.png.html
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:Visual Studio 2010
 [3.3] 言語:C
[4] 期限:5/28
[5] その他の制限:特になし
よろしくお願いします。
634デフォルトの名無しさん:2012/05/25(金) 18:08:19.51
>>633
オレの目には 5を入力してるように見えるんだが、
! が7個表示であってる?
635623:2012/05/25(金) 18:09:37.28
>>629,>>617
Qさんのを勝手に日本語版に直しました。
http://codepad.org/gMJYuGVb
ついでに引数ひとつ増やしちゃったり出力弄ったりしたけどいいよね?
期限今日までだし。
>>633
おい、ちょっと待て、なんで「5」で「!」が「7」個もあるんだよwww
http://codepad.org/8yhmkRtT
条件優先バージョン
http://codepad.org/iAx832xm
画像優先バージョン
http://codepad.org/otaKFIrH
元文書き換えバージョン

よくわからないから適当に作った。
とりあえずもう少し詳しく教えてくれ。
636623:2012/05/25(金) 18:14:08.92
>>635
補足。
条件優先は画像が間違ってる(他はあっている)とみなした場合。
画像優先は条件が間違っている(任意数ではなく任意数+1で他はあっている)とみなした場合。
元文書き換えは元文が間違っている(実は「HelloWorld!!」で他はあっている)とみなした場合。

どうせ後3日間あるんだ。
素晴らしいコードの一つや二つ出てくるでしょう。
637デフォルトの名無しさん:2012/05/25(金) 18:18:34.08
>>635
無限ループのコードをcodepad上で実行するなよな…
638623:2012/05/25(金) 18:23:54.36
>>637
ideoneならいいの?
639623:2012/05/25(金) 18:59:27.50
>>637
とりあえず引っ越した。
>>617
http://ideone.com/YIGWP
Qさん(日本語化)
http://ideone.com/B5Gaf
作った。

>>633
http://ideone.com/sk6UY
条件優先バージョン
http://ideone.com/bpCJI
画像優先バージョン
http://ideone.com/uADAM
元文書き換えバージョン
640デフォルトの名無しさん:2012/05/25(金) 19:54:59.56
>>634-639
すいません、画像間違えてました(´;ω;`)
条件優先です
御手数をかけさせて申し訳ありません…
ありがとうございました!
641runpa:2012/05/25(金) 22:41:22.52
[2] 問題

1. 等加速度直線運動を考える。初速度(m/s) と等加速度(m/s2) を入力すると、100m 先の地点に到達す
るまでの時間(s)、およびその時の速度(m/s) を表示するプログラムを作成せよ。入力される数値と
して、浮動小数点数値に対応すること。
[3] 環境
 [3.1] OS: (Windows7)
 [3.2] コンパイラ名とバージョン: (不明)
 [3.3] 言語: (C/C++/どちらでも可 )
[4] 期限: ([2012年5月27日24時まで
[5] その他の制限:基本的なことしか習っていません
よろしくお願いします
642デフォルトの名無しさん:2012/05/25(金) 22:52:05.12
基本的なことって標準規格に関することは全てってことだよな
処理系依存なこととかはどちらかといえば応用的ということで
643デフォルトの名無しさん:2012/05/25(金) 22:52:55.50
微分方程式?オイラー法かルンゲクッタ法かな
644デフォルトの名無しさん:2012/05/25(金) 22:56:29.36
>>643
解析的に解けるものをわざわざ数値計算しなくてもw
645デフォルトの名無しさん:2012/05/25(金) 23:00:54.64
ああ高校の物理の知識で解けるのか
すっかり忘れてたわ
646デフォルトの名無しさん:2012/05/25(金) 23:01:44.93
きっとこの問題のミソは負の加速度にある
647デフォルトの名無しさん:2012/05/25(金) 23:05:17.71
>>646 いや、おそらく光速に近くなったときの振舞いにあるのではないだろうか?
648デフォルトの名無しさん:2012/05/25(金) 23:15:39.90
時間(s)ってどうやれば出てくるんだっけ?
公式で1発で出てくるものなの?
649デフォルトの名無しさん:2012/05/25(金) 23:18:32.11
>>647
もう一声で、光速を超えられ(ry
650デフォルトの名無しさん:2012/05/25(金) 23:19:47.90
そうか、速度は光速を超えちゃいけないのか
そこも注意しないとアホバカクズと罵られるな
俺なら徹底的にバカにする
651デフォルトの名無しさん:2012/05/25(金) 23:23:39.41
>>641
#include <stdio.h>
#include <math.h>
#define EPS (1.0e-30)
int func(double a, double b, double c, double *r1, double *r2){
double D;
if(fabs(a)<=EPS){
if(fabs(b)<=EPS) return 0;
*r1=-c/b;
return 1;
}
D=b*b-4*a*c;
if(D<0.0) return 0;
if(D<=EPS){
*r1=-b/(2*a);
return 1;
}
*r1=(-b+sqrt(D))/(2*a);
*r2=(-b-sqrt(D))/(2*a);
return 2;
}
int main(void){
double v0, a, l=100.0, v1, v2, t1, t2;
printf("初速度(m/s) :"); scanf("%lf", &v0);
printf("加速度(m/s^2) :"); scanf("%lf", &a);
switch(func(a/2, v0, -l, &t1, &t2)){
case 2: v2=v0+a*t2; printf("時間 %f(s) 速度 %f(m/s)\n", t2, v2);
case 1: v1=v0+a*t1; printf("時間 %f(s) 速度 %f(m/s)\n", t1, v1); break;
default: printf("解なし\n"); break;
}
return 0;
}
652デフォルトの名無しさん:2012/05/25(金) 23:31:20.84
>>651
相対論効果が考慮されてないが・・・
653デフォルトの名無しさん:2012/05/25(金) 23:37:33.04
周囲の質量分布が分からないと出せないのでは?
654デフォルトの名無しさん:2012/05/26(土) 00:32:04.43
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 問題文はリンク先にあります
http://codepad.org/3vEhNLeD
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C言語
[4] 期限: [2012年5月28日まで]
[5] その他の制限: 後一歩なんですがL.96あたりがわかりません。問題文では(4)です。
補修するかたちで、よろしくお願いします。
655デフォルトの名無しさん:2012/05/26(土) 00:33:19.49
うわーCでやってんのか
C++なら嘘みたいに綺麗に書けるのに
656デフォルトの名無しさん:2012/05/26(土) 00:39:01.49
この手の宿題は苦行を達成することにこそ意義があるのだろう
たぶん
657デフォルトの名無しさん:2012/05/26(土) 00:44:47.25
>>654
ttp://codepad.org/aT7TXEDT
もともとある関数を使用する様にしたため、実行効率には目をつぶってくれたまえ。
658654:2012/05/26(土) 00:51:11.70
>>655,>>656 悲しいことを言わないでください・・・。

>>657 ありがとうございます。
入れ替えると片方が上書きされると勘違いしいて
一時的に値を保存しておく必要があると思っていました。

お早い返信ありがとうございました。
659デフォルトの名無しさん:2012/05/26(土) 03:26:16.63
正方行列のみを扱う場合には大丈夫だが
本当は multi_matrix はバグっている
660デフォルトの名無しさん:2012/05/26(土) 09:04:00.95
バグねぇ……
やっぱり宗教的な苦行は延々と続くモンだな
661デフォルトの名無しさん:2012/05/26(土) 09:17:45.59
行列の積が定義出来ない場合を無視しているな
662デフォルトの名無しさん:2012/05/26(土) 11:58:54.15
[2]ある病院の健康診断の受診料は、20歳未満および65歳以上は1000円、それ以外は1500円である。
ただし、年齢が5の倍数の場合は500円の血液検査が追加される。
また、40歳以上60歳未満は300円の腹囲測定が追加される。
年齢を入力すると受診料を表示するプログラムを作成せよ。
入力される数値として非負整数値に対応すること。
[3.1]os windows7/vista
[3.3]c/c++
[4]期限:2012年5月28
お願いします。
663デフォルトの名無しさん:2012/05/26(土) 12:04:28.42
[2]水の量(L)を入力し、その水に含まれる水素および酸素の原子の数を表示するプログラムを作成せよ。
アボガドロ定数は6.02×10^23、水の分子量は18,水の重さは1ml=1gとしてよく、
入力される数値として浮動小数点数値に対応すること表示は指数表現で行う。

[3.1]windows
[3.3]c/c++
[4]今日中
よろしくお願いします。
664デフォルトの名無しさん:2012/05/26(土) 12:15:08.19
>>655
http://ideone.com/deJc6

C++で書いてみたけど全然きれいにならなかった
2次元配列のサイズを可変にするためにクラスにしたらえらい目に遭った
それにクラスへの代入の所がもう少しきれいに書けないとC++にした意味ないなあ
665デフォルトの名無しさん:2012/05/26(土) 18:31:12.20
>>663
#include <stdio.h>

#define NA 6.02e+23 // アボガドロ定数
#define M 18 // 水の分子量
#define W 1000.0 // 1Lあたりの質量

int main(void)
{
double v, n;

printf("水の量(L) : ");
scanf("%lf", &v);
n=v*W/M*NA;
printf("水素原子: %e\n", n*2);
printf("酸素原子: %e\n", n);

return 0;
}
666デフォルトの名無しさん:2012/05/26(土) 19:34:06.01
ある病院の健康診断の受診料は、20 歳未満および65 歳以上は1000 円、それ以外は1500 円である。
ただし、年齢が5 の倍数の場合は500 円の血液検査が追加される。また、40 歳以上60 歳未満は300
円の腹囲測定が追加される。年齢を入力すると受診料を表示するプログラムを作成せよ。入力される
数値として、非負整数値に対応すること。

暇があればやっていただけると嬉しいです。
667デフォルトの名無しさん:2012/05/26(土) 19:37:01.01
666>つけ忘れましたが[3.1]windows [3.3] 言語: C言語 [4] 期限:5月28日 [5] その他の制限: よろしくお願いします。
668デフォルトの名無しさん:2012/05/26(土) 19:42:10.42
>666 保険は効きますか?
669デフォルトの名無しさん:2012/05/26(土) 19:51:09.04
こんなC言語の課題やってて楽しいか?金稼ぎせぇよ
670デフォルトの名無しさん:2012/05/26(土) 20:00:52.33
>668 効かないです。
671デフォルトの名無しさん:2012/05/26(土) 20:12:53.62
どうみても保険が利いてる値段
672デフォルトの名無しさん:2012/05/26(土) 23:04:43.55
>>666 回答には保険が効いてません。

#include <stdio.h>

int main(void)
{
int price, age = -1;

printf("nenrei>");
scanf("%d", &age);
if (age < 0) {
printf("err: nenrei:%d\n", age);
return 1;
}

price = (age < 20 || age >= 65) ? 1000 : 1500;
if (age % 5 == 0) {
price += 500;
}
if (age >= 40 && age < 60) {
price += 300;
}

printf("jusinryo:%d\n", price);
return 0;
}
673tk:2012/05/27(日) 01:08:42.38
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):
http://codepad.org/yl6Ywfwn
↑リンクのランダム・ファイル版(fseek使用、ファイルはひとつのみ使用、'r+'でオープン)
終了時にはCTRL+Z Enterを2回入力。
file1は以下リンクのプログラムで作成したものを使用。
http://codepad.org/jHPMEEFx
また更新されたことを確認するプログラムも作成。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限: 2012年5月31日15時
[5] その他の制限: 特になし
674デフォルトの名無しさん:2012/05/27(日) 09:46:50.83
>>673

セキセイインコ {

キャベツ(”紫キャベツ");
*キャベツ = &サニーレタス;

return 母乳
675デフォルトの名無しさん:2012/05/27(日) 09:54:32.75
#include <ジョニーデップ(本物).h>
#include <"竹内力(全盛期).h">

#define 林家パー子 乳輪大納言

包皮 main(ニキビ) {
               ____      
             /      \     //ドンドン
            /  rデミ    \  
          /     `ー′ /でン \ 
          |     、   .ゝ    | //圏圏波圏圏圏波圏圏波
           \     ヾニァ'   / 
            \        ノ   //ドンドン
            /:.:.:.:.:.:.:.:.:.:.:.:::.:..::\
            /::.:.:.:.:.:.:.:.:.:.:.:.:.:.::::::::::::\
           l:.:.:.:.:.:.:.:.:.:.:.:.:.::::.:.::::::::::::::::\    
          :l:.:.:.:.:.:.:.:.:.:.:.:.:.::.:::::、::::::::::::::::::\_  
           l:.:.:.:.:.:.:.:.:.:.:.:.:.::.::::::ヽ::::::::::::::::::::ヾ`::‐-..、,...,,_
       ::::::::::::::ヽ:.:.:.:.:.:.:.:.:.:.:.:.::::::::::`丶、:::::::::::::::ヽ__;;;(_,,,......):::::::::::
         :::::::::``''''''ー‐-- `--──- ニ=:、:::::::::ヽ、::::::::::::::::::::::
            :::::::::::::::::::::::::::::::::::::::::::::::::::::::`ヽ;;:rー`- 、.,
                          ::::::::::::` ‐- 、.,__ノ 
return よしりん * のぶひこ;
}
676デフォルトの名無しさん:2012/05/27(日) 15:38:45.75
>665
ありがとうございます!
677デフォルトの名無しさん:2012/05/27(日) 22:09:04.31
[1] 授業単元:C
[2] 問題文(含コード&リンク):
http://codepad.org/SZCwaCYd
で入力した整数のうち2つ以上同じ値があった場合、
「同じ値です」と表示するには、どんなif文書けばいい?

[3] 環境
 [3.1] OS:Windows7
 [3.2] VC 6.0
 [3.3] 言語:C
[4] 期限: 特になし
678デフォルトの名無しさん:2012/05/27(日) 22:13:38.33
>>677
配列つかったらだめなん?
679 ◆QZaw55cn4c :2012/05/27(日) 22:16:02.44
>>673
http://codepad.org/iyunH7XB
bcc32でもgccでもあんがいパディングが入らないんだなと。
680 ◆QZaw55cn4c :2012/05/27(日) 22:25:58.95
>>677
http://codepad.org/4gYssFPB
が嫌な理由と、あと >>678
681デフォルトの名無しさん:2012/05/28(月) 05:41:36.53
[1] 授業単元:計算機プログラミング
[2] 問題文(含コード&リンク):http://www.fluid.cse.nagoya-u.ac.jp/~ishihara/c/Sec5kadai0.html
[3] 環境
 [3.1] OS: iMac
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:5月30日
配列さっぱりわかりません・・・お願いします。
682デフォルトの名無しさん:2012/05/28(月) 07:06:07.33
for(i = 0; i < N; i++) {
for(j = 0; j < N; j++) {
c[i][j] = 0;
for(k = 0; k < N; k++) c[i][j] += a[i][k] * b[k][j];
} }

printf("行列AとBの積Cの各要素の値は次の通りです\n");
for ( i = 0 ; i < N ; i++) {
for ( j = 0 ; j < N ; j++) {
printf("c[%d][%d]=%f\t", i+1, j+1, c[i][j]);
}
printf("\n");
}

683デフォルトの名無しさん:2012/05/28(月) 07:19:22.88
>>681
>配列さっぱりわかりません

Σやったんなら考え方は難しくないですよ。
ΣAi = A1+A2+ .... + An っていうふうに、文字=変数だけれども1, 2, 3 と文字=変数に数字を含ませたいときってあるじゃないですか。
Ai = A1, A2, A3, を、コンピューター言語では a[i] = a[1], a[2], a[3] って書くだけです。
ΣAi を for 文でかけば s = 0; for(i = 1; i <= 10; i++) s = s + a[i]; となるのも慣れれば簡単だと思います。

あとは一見ごちゃごちゃしているのを少しずつ解きほぐす思考上のめんどくささを克服すればいい。なにごとも一発ですんなり、というのは、あまりないような気がします。
684 ◆zJumtH9CFU :2012/05/28(月) 08:31:00.56
【質問テンプレ】
[1] 授業単元:C言語プログラミング
[2] 問題文:
キーボードから正の整数を1つ入力し、その数が素数かを判定するプログラムをbreak文・for文等を利用して作成しなさい
ヒント:素数を文章で表すなら、「1とその数以外の数では割り切れない数」である
[3] 環境
 [3.1] OS:ubuntu(Linux)
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2012年5月28日PM16:10 まで
[5] その他の制限:基礎を学ぶ単元ですので、putcharは使用不可です。私見ですが、やさしいCレベル
685 ◆QZaw55cn4c :2012/05/28(月) 08:47:02.97
686デフォルトの名無しさん:2012/05/28(月) 08:53:47.51
>>684
素数の定義間違ってますよ
687デフォルトの名無しさん:2012/05/28(月) 12:13:45.22
>>683
ありがとうございます。これをもとになんとか理解できるようにがんばってみます!
688デフォルトの名無しさん:2012/05/28(月) 12:27:50.72

すいません。これをアルゴリズムとしてすごくシンプルに実装したいんですが、どうしたらいいでしょうか?

http://uproda11.2ch-library.com/350647OFD/11350647.jpg
http://i.imgur.com/JxyMU.jpg
689デフォルトの名無しさん:2012/05/28(月) 12:29:48.75
>>688
板違いです
ここは小学生がくるようなところではありません
690デフォルトの名無しさん:2012/05/28(月) 13:39:34.89
水差し問題 4l,3lの容器を使って4l容器で2lをはかるプログラムをC言語でおねがいします
691デフォルトの名無しさん:2012/05/28(月) 13:45:02.01
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):水差し問題 4l,3lの容器を使って4l容器で2lをはかるプログラムをC言語でおねがいします

[3] 環境
 [3.1] OS: Windows emacs LX terminal
 [3.2]
 [3.3] 言語: C
失礼しましたもう一度質問します
692デフォルトの名無しさん:2012/05/28(月) 15:32:18.00
693デフォルトの名無しさん:2012/05/28(月) 15:56:41.90
>>691 bool は使えませんでした
694デフォルトの名無しさん:2012/05/28(月) 16:31:32.31
bool→intにして
false→0
true→1
にすればおk
695デフォルトの名無しさん:2012/05/28(月) 16:33:19.50
あとfor文の中でintを宣言してたりどうもC++っぽいので
それらを関数の頭に集める
696デフォルトの名無しさん:2012/05/28(月) 16:40:38.79
>>691
以上をCで書いてみた
http://ideone.com/bktlI

でもさ、これアルゴリズムがプログラムの中に書かれてしまっていて、バックトラックを使って
自分で探すのと違うよね
697デフォルトの名無しさん:2012/05/28(月) 18:15:45.44
行列の掛け算がうまくいきません
http://ideone.com/hDIez
最後の配列t[16][16]が単位行列になりません
お願いします
698デフォルトの名無しさん:2012/05/28(月) 18:21:46.49
インデントぐらい揃えよう
2chなら容認されてもロダにあげたら
悪意があるとしか思えんよ
699デフォルトの名無しさん:2012/05/28(月) 18:24:07.70
>>696
うん、超限定してるねw
700デフォルトの名無しさん:2012/05/28(月) 18:25:01.41
さすがYahoo知恵袋w
701デフォルトの名無しさん:2012/05/28(月) 19:19:16.98
-----------まとめ----------
「馬鹿は死なねば治らないのであり、だからこそアナトール・フランスは
『愚かな者は、邪悪な者よりも忌まわしい』と言ったのだ。
 邪悪な者は休むときがあるが、愚かな者はけっして休まないからである。」
(ホセ・オルテガ・イ・ガセット 1883〜1955)
>>247
>ゲームは作らんから知らんが、
224 == 247 == 704 == 717
口癖はコンポジション
>>772
>ゲーム作らなくてもお前よりマトモ
タスクの実行順序を意識しないとゲームが作れない(笑)
>>767
敵機 → プレイヤー の順序でタスクを実行するとタスクがぶっ壊れる
OOを得意げに語っているつもりが、やっている事が20年前のC言語だったという事実
バイナリの書き換えがわからない
コンパイラ言語のことをコンパイル言語とか言っちゃう
タイプミスの数々
http://toro.2ch.net/test/read.cgi/tech/1336122899/190
http://toro.2ch.net/test/read.cgi/tech/1336122899/297
http://toro.2ch.net/test/read.cgi/tech/1325246820/837-839
http://toro.2ch.net/test/read.cgi/tech/1336122899/318-320
http://toro.2ch.net/test/read.cgi/tech/1336122899/332-334
http://toro.2ch.net/test/read.cgi/tech/1336122899/818
702デフォルトの名無しさん:2012/05/28(月) 21:40:36.08
>>697ですが自己解決しました
>>698さん、すいませんでした。
以後、気をつけます。
703デフォルトの名無しさん:2012/05/28(月) 22:41:12.50

レポート課題

標準入力で与えた単語が,指定ファイル中に出現した回数を出力するプログラムを作成せよ.
単語データは以下の構造体を使用し,ハッシュを使用すること
ハッシュ関数は各自で定義してよい
単語は,スペースまたは改行で区切られる文字列とする
ハッシュのサイズはコマンド引数から指定し,作成したハッシュテーブルの偏り具合を表示すること

struct word {
char *str;
int count;
struct word *next;
};
実行例

$ ./wordcount 13 api.txt
[0]:147 [1]:133 [2]:170 [3]:137[4]:133[5]:132 [6]:160 [7]:167 [8]:136 [9]:154 [10]:142 [11]:149 [12]:125
Word => API
API: 10
Word => virtual
virtual: 33
Word => 0
$


お願いします。
704デフォルトの名無しさん:2012/05/28(月) 23:21:41.79
お願いされたくねーです
705デフォルトの名無しさん:2012/05/28(月) 23:27:16.09
>>702
いいよ、インデントごときでわめくのはそれはそれで素人だから
706デフォルトの名無しさん:2012/05/28(月) 23:43:06.32
素人とかw
アホかオメーは
くっさいくっさいクソコードでもまき散らして自爆失業でもしろよwww
707デフォルトの名無しさん:2012/05/28(月) 23:45:04.72
インデントくらいしかつっこむところが分からないんだろう
708デフォルトの名無しさん:2012/05/28(月) 23:47:27.07
他人が見る分には見易さは重要。そんなのも分らず他人が見る場所に
コードを公開するのは恥さらし。その程度なんて軽々しく言う奴の意見なんて無視しろ。
身嗜みもいい加減で外に出ても、まともに相手にされないのと同じだよ。
他人の目に付かない場所でひっそりと自己満足で生きてろってことだ。
709デフォルトの名無しさん:2012/05/28(月) 23:49:35.82
インデントで突っ込まれるって
かなりのレヴェルだぞ
低い方の
内容以前のksにつきあっても意味ないじゃん
710デフォルトの名無しさん:2012/05/29(火) 00:04:57.58
>>708
どのスタイルにすべきかをテンプレに書いたら?
インデントが整ってないと読むこともできない人しか得をしないけど。
711デフォルトの名無しさん:2012/05/29(火) 00:18:08.70
{}カッコのスタイルとか、そういう次元じゃねーだろアレは
712デフォルトの名無しさん:2012/05/29(火) 00:39:50.65
よろしくお願いします!

[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
入力した2進数の数値について、10進数表記に直す計算を行いたい。
以下に示すように、下の桁から順に2をかける回数を増やすように計算を行い、最終的な結果を表示せよ。
なお、再帰は用いなくてよい。
参考:ttp://kie.nu/bOw
   ttp://kie.nu/bOx
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:Visual Studio2010
 [3.3] 言語:どちらでも可
[4] 期限:5/30
[5] その他の制限:


713 ◆QZaw55cn4c :2012/05/29(火) 00:45:06.22
714703:2012/05/29(火) 00:54:57.34
>>713
済みませんがこのスレにリンク貼ってくださいませんか
有料の所なんて嫌です><
715 ◆QZaw55cn4c :2012/05/29(火) 01:04:00.78
>>702
インデントをつけてくれたり、括弧の対応を明示してくれたり、色づけしてくれたりするエディタを使うと、かなり楽になります。
私は寄る年波に勝てず昔から使っている xyzzy を手放せないかわいそうな状態ですが、visual studio とか、すごくよさそうです。キーバインドを換える方法がわかれば乗り換えたいのですけれども。
716 ◆QZaw55cn4c :2012/05/29(火) 01:04:47.00
717デフォルトの名無しさん:2012/05/29(火) 01:10:52.15
Qは相変わらず頭おかしいな
718 ◆QZaw55cn4c :2012/05/29(火) 01:16:46.25
>>717
どんな点をみて頭がおかしいと感じられたのか、もしよろしければ教えてください。
719デフォルトの名無しさん:2012/05/29(火) 01:20:23.53
>>716
もっと簡単な表記に出来ないでしょうか?130行ぐらいがいいんですが?
720デフォルトの名無しさん:2012/05/29(火) 01:21:38.08
>>718
自分で気付けない奴に何を言っても無駄
自分で気付けるようになるまでせいぜい言われてろ
721デフォルトの名無しさん:2012/05/29(火) 01:27:15.78
注文の多い料理店
722デフォルトの名無しさん:2012/05/29(火) 01:29:00.08
>>718
xmallocとか変な関数を使わないでもらえませんか?すぐバレてしまうんですけど
723 ◆QZaw55cn4c :2012/05/29(火) 01:52:50.51
>>719
残念。他の方におまかせしましょう。

>>722
関数じゃありません、マクロです。
上のほうにマクロの定義がかいてありますから、それをみて手でなおしてくださいな。

>>720
こちらからは、記述できるけれどもしないのか、それとも記述能力がないのかを区別できないのですが、
なにかこれら二者を区別するヒントでもいただけませんか?
724デフォルトの名無しさん:2012/05/29(火) 01:56:46.21
>>723
区別しなくていいよ
そういう問題じゃないからさ
725デフォルトの名無しさん:2012/05/29(火) 02:18:11.82
お、以前のQなら「では何が問題なのですか?」とまた屁理屈で攻めてきただろうが
少しは成長したようだな
726 ◆QZaw55cn4c :2012/05/29(火) 02:19:46.50
>>712
用いてもいいとしますね。http://ideone.com/QvhJc
727デフォルトの名無しさん:2012/05/29(火) 02:32:30.92
末尾最適化も知らなかった馬鹿が・・・
728 ◆QZaw55cn4c :2012/05/29(火) 02:37:34.69
>>727
成長したでしょう?
というか、一部(f())は先送り型じゃないとうまくかけないみたいです。
729デフォルトの名無しさん:2012/05/29(火) 02:39:14.68
性格は相変わらず糞だけどな
多分一生そのままだな
730デフォルトの名無しさん:2012/05/29(火) 04:50:21.80
>>718
よこからだけど
struct word {
char *str;
int count;
struct word *next;
};
つかってないのはやっぱダメなんじゃないの。

あと、xyzzyってemacsライクだよね?標準でEmacsバインドは入ってるよ。試せばすぐ分かると思う。
うちはvimなんで相容れないけど。
731デフォルトの名無しさん:2012/05/29(火) 04:54:08.15
と、書いたものの
> インデントをつけてくれたり、括弧の対応を明示してくれたり、色づけしてくれたり
こんぐらいxyzzyでもできるだろ。できないわけがないとすら思える内容なんだけど。

あと、C C++ C++/CLIはコード補完も使えないと思ったほうがいいレベル。
そこらのエディタの単純補完で十分
732 ◆QZaw55cn4c :2012/05/29(火) 06:33:44.73
>>730
>つかってないのはやっぱダメなんじゃないの。
そうですね。

>>703
仕様にあわせて修正します。
http://codepad.org/8MSFxWqS
733 ◆QZaw55cn4c :2012/05/29(火) 06:38:29.53
>>731
>標準でEmacsバインドは入ってるよ。試せばすぐ分かると思う。
もういちど探してみます。epsilon だったはずとおもっていたんですが、当時よくわからなくて。

>コード補完も使えないと思ったほうがいいレベル。
そうなんですか。15年前の VB6 のabbrev は悪くなかったのですが、その程度ならば xyzzy/emacs でもできるのでしょうか?これも探してみます。
734 ◆QZaw55cn4c :2012/05/29(火) 06:48:39.75
>>729
>性格は相変わらず糞だけどな
たしかに性格に順位がつくのならば下から数えたほうが早い、とは自認していますが、でも、どんなところが悪いかヒントをいただけないでしょうか?
735デフォルトの名無しさん:2012/05/29(火) 11:52:39.22
まじめに答えてくれる人が釣れてよかったなぁ
736デフォルトの名無しさん:2012/05/29(火) 12:14:11.08
>>726
バカすぎる
737デフォルトの名無しさん:2012/05/29(火) 12:16:44.86
>>734
嫌だね
誰が見ても明らかに性格に難有りだけども自分で気付けないというのが
狂っている証拠なんだが、かと言ってそれを言っても激しく否定されるだけなんで
だから自分で気づくしか方法はないと何回も言ってるわけだ
人が言っても絶対に認めないからね

こう言うと「試しに言ってみてくれませんか」と言うだろうが、過去ログで他の人も
何回も指摘してるが難癖付けて認めてないだろう?ヒントは過去ログにある
738デフォルトの名無しさん:2012/05/29(火) 12:17:20.63
>>712
#include <stdio.h>

int main(void)
{
int i, b, d = 0;

printf("二進数の数値を入力してください。\n");
scanf("%d", &b);

printf("二進数を十進数に変換します・・・\n");
for(i = 1; b; i <<= 1, b /= 10) {
printf("%d*%d\n", b & 1, i);
if(b & 1) d += i;
}

printf("十進数表記は%dです。\n", d);

return 0;
}
739デフォルトの名無しさん:2012/05/29(火) 12:51:30.70
>>734
>たしかに性格に順位がつくのならば下から数えたほうが早い、とは自認していますが、
>でも、どんなところが悪いかヒントをいただけないでしょうか?

自分で性格が悪いと自認してるならわざわざ人に聞くまでもないじゃないか
アホかお前
740デフォルトの名無しさん:2012/05/29(火) 12:53:17.86
釣られないぞ()
741デフォルトの名無しさん:2012/05/29(火) 13:34:37.24
>>738
小数に対応していないんですがなんとかなりません?
742デフォルトの名無しさん:2012/05/29(火) 15:39:29.97
>>741
マイナスは対応しなくてもいいの?
743デフォルトの名無しさん:2012/05/29(火) 16:50:40.11
>>742
負数は負号つけるだけじゃん
744デフォルトの名無しさん:2012/05/29(火) 16:50:46.10
[1] 授業単元:数値解析
[2] 問題文:
ボックス-ミュラー法を用いて平均 = 1:5,標準偏差 = 0:5
の正規乱数を10000 個生成する。
[3] 環境
 [3.1] OS: Windowsvista
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語: どちらでも可
[4] 期限: 5/30 13時
[5] その他の制限:
お願いします
745デフォルトの名無しさん:2012/05/29(火) 17:04:36.14
この手の特徴あるプログラミングは
ggってコピペした方が早いんじゃね?
カンタンに大量のソースが出てくるぞ
746デフォルトの名無しさん:2012/05/29(火) 17:22:53.31
>>745
コピペしちゃ遺憾だろ
あと大量にあるからこそフィルタリングしないと
747デフォルトの名無しさん:2012/05/29(火) 17:33:38.52
748デフォルトの名無しさん:2012/05/29(火) 17:53:54.52
>>743
え?
749 ◆QZaw55cn4c :2012/05/29(火) 19:03:52.68
>>736
趣向を理解いただけなかったようで残念です。
750デフォルトの名無しさん:2012/05/29(火) 19:15:31.15
表示と値を求めるので別々の再帰つかってたら減点に決まってるだろw
751デフォルトの名無しさん:2012/05/29(火) 19:18:43.27
>>738
for(i = 1; b; i <<= 1, b /= 10) {
printf("%d*%d\n", b & 1, i);
if(b & 1) d += i;
}
この部分の&と<<=の意味を教えていただけませんか?
752デフォルトの名無しさん:2012/05/29(火) 19:30:10.94
[1] 授業単元:組合せ最適化
[2] 問題文(含コード&リンク):
安定結婚問題をGale-Shapley アルゴリズムを用いて実装するためにプログラミングしてください。
[3] 環境
 [3.1] OS:Windows7
 [3.2] Visual Studio2010
 [3.3] 言語:どちらでも
[4] 期限:2012年6月1日
[5] その他の制限:なし

お願いします
753 ◆QZaw55cn4c :2012/05/29(火) 19:37:14.54
>>750
そっかー、再帰を使えば使うほどボーナス点倍増さらに倍!、かと思っていました。
754デフォルトの名無しさん:2012/05/29(火) 20:04:00.86
>>726,738
ありがとうございます!
755デフォルトの名無しさん:2012/05/29(火) 20:14:12.60
【質問テンプレ】
[1] 授業単元:c言語
[2] 問題文(含コード&リンク):http://uproda.2ch-library.com/533330Hsq/lib533330.png
[3] 環境
 [3.1] OS: XPのXDMI接続
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語:c言語
[4] 期限:5/30 20:00まで
[5] その他の制限:scanf printf for while くらいの初期段階です

自分で一週間悩んで組みましたがsinのテイラー展開の式の構成がうまくいかず
出力で値を入力してもテイラー展開のところだけ-1という結果になります
自分が組んだのはhttp://codepad.org/6p6zTuSk
です
期限が早すぎるため厳しいかもしれないですがお願いします
756デフォルトの名無しさん:2012/05/29(火) 20:53:00.92
>>751
>>はシフト演算
&もビットの処理、AND
ttp://www.cppdrive.jp/cstart/ope/index7.html
757デフォルトの名無しさん:2012/05/29(火) 20:56:08.53
>>755
数学記号「!」の意味はわかってる?
758デフォルトの名無しさん:2012/05/29(火) 21:04:55.18
>>757
論理否定ですよね?
授業のPDFファイル遡ったらあったので使ってもいいと思います
759デフォルトの名無しさん:2012/05/29(火) 21:13:56.63
>>758
君に大学はまだ早いようだ
小学校の国語と高校の数学をまず学びなさい
760デフォルトの名無しさん:2012/05/29(火) 21:20:34.73
>>759
ああすいませんw
階乗ですよね?
プログラミングの方聞かれてるのかと思って
761デフォルトの名無しさん:2012/05/29(火) 21:20:36.10
>>758
なんも見てないけど数学では階乗だよ
762デフォルトの名無しさん:2012/05/29(火) 21:26:51.34
>>756
ありがとうございます。
こんなのあるんですね…!
763デフォルトの名無しさん:2012/05/29(火) 21:31:39.45
>>760
じゃあ自分が組んだプログラムのどこに階乗がありますか?
764755:2012/05/29(火) 21:33:09.65
755です
今考えていますが自分では見つけられないです
だいたいnanか -1が出てきてしまいます
765デフォルトの名無しさん:2012/05/29(火) 21:35:27.31
>>763
for (n = 1; n < 500 && fabs(ckrad) >= EPSILON * sinrad; n++) {
if (n % 2 == 0) {
sinrad += ckrad;
}
else {
sinrad -= ckrad;
}
k = 2 * n - 1;
l *= radrad;
ckrad = l / k;
}
ここでテイラー展開の数式をかいたつもりです
766デフォルトの名無しさん:2012/05/29(火) 21:43:39.31
>>755
http://ideone.com/GvFqB

いろいろ間違いがあるので直した
初期化の位置が間違っていたり階乗の求め方が間違っていたり

それとこれは値が大きい方から足していくのでradが大きくなるほど「積み残し誤差」が
無視できない大きさになり値がずれてくる

後ろから足すとよい
767デフォルトの名無しさん:2012/05/29(火) 21:45:01.32
訂正
× for (n = 0; n < 5 && fabs(ckrad) >= EPSILON * sinrad; n++) {
○ for (n = 0; n < 500 && fabs(ckrad) >= EPSILON * sinrad; n++) {

これでもradが大きくなるとずれてくるのがわかるはず
768デフォルトの名無しさん:2012/05/29(火) 21:47:01.15
ttp://codepad.org/KVsz8uGb

>>755
これでどうよ
769デフォルトの名無しさん:2012/05/29(火) 21:50:36.79
>>756
よろしければ、二進を十進に変えるプログラムも書いてもらってもいいですか?
770デフォルトの名無しさん:2012/05/29(火) 21:54:21.96
1] 授業単元:プログラミング演習
[2] 問題文:
x y 0 0 0
y x y 0 0
0 y x y 0
0 0 y x y
0 0 0 y x

のような行列を微次元配列に格納する。x,yは任意の整数

[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:とくには
[5]

よろしくお願いします
771デフォルトの名無しさん:2012/05/29(火) 21:56:58.31
微次元って?2次元配列?
772デフォルトの名無しさん:2012/05/29(火) 21:58:53.22
>>771
二次元です。タイプミスです
よろしくお願いします
773デフォルトの名無しさん:2012/05/29(火) 22:03:31.52
>>766
大幅な訂正ありがとうございます
ここまで丁寧に説明もしてもらって感謝の言葉もありません

taylor sin(rad) = 1,490378464981583
早速出力してみたのですが
おそらく出るべき数値の2倍の数値がでたと思われます
自分でも原因の解明に努めているところですが手伝ってもらえたらとおもいます
774デフォルトの名無しさん:2012/05/29(火) 22:06:42.93
>>770
int main(void)
{
  int i, j;
  int x = 1;
  int y = 2;
  int m[5][5];
  for (i=0; i<5; i++)
  {
    for (j=0; j<5; j++)
    {
      m[i][j] = (i == j ? x : ((i == j - 1) || (i == j + 1)) ? y : 0);
    }
  }
  return 0;
}
775デフォルトの名無しさん:2012/05/29(火) 22:06:47.23
>>773
>>767の修正してくれた?
776デフォルトの名無しさん:2012/05/29(火) 22:08:59.68
>>773
それからradは2πの周期で元に戻るのだから大きなradを入れたら
0<rad≦2πの間になるように正規化してくれ

少しでも誤差を小さくするためだ

さっきも言ったようにforのループを逆にするんだ
777デフォルトの名無しさん:2012/05/29(火) 22:09:30.85
0≦rad<2πだった
778デフォルトの名無しさん:2012/05/29(火) 22:09:47.13
>>773
一気にsinの値を求めるんじゃなくて
まずはテイラー展開の各次数の項がちゃんと計算されているか確認しなよ
5次くらいまでなら電卓と手計算ですぐだせるだろ
779デフォルトの名無しさん:2012/05/29(火) 22:10:31.62
>>768
こちらの方もありがとうございます
ちゃんと出力結果も一致いたしました
自分の学習範囲ではまだ理解できない関数がありましたが
>>766さんとあわせて利用させてもらいたいと思います
780デフォルトの名無しさん:2012/05/29(火) 22:14:30.01
>>775
はい、500に訂正しました
>>776
>>777
radは小数点以下の小さい値になるので2PIEを超えることはないと思います
>>778
ただいまやります
781デフォルトの名無しさん:2012/05/29(火) 22:15:16.00
if (rad >= 2.0 * M_PI)
while (rad > 2.0 * M_PI)
rad -= 2.0 * M_PI;
else if (rad < 0.0)
while (rad < 0.0)
rad += 2.0 * M_PI;

これで>>776は実現出来ると思う
後は階乗の項が後に行くとすごく小さくなり足してもほとんど意味をなさなくなる
積み残し誤差は先程説明したのでそこだけだな
782デフォルトの名無しさん:2012/05/29(火) 22:30:30.50
>>781
正規化はこうしておけ
rad は double

if (rad > 2 * M_PI)
{
rad -= 2 * M_PI * (int)(rad / (2 * M_PI));
}
783デフォルトの名無しさん:2012/05/29(火) 22:31:43.78
>>781
試行錯誤の結果納得の行く結果が出ました
プログラムそのものも簡易なもので出力できたのでありがたいです
>>768さんの結果を含め利用させて頂きます
期限が迫ってる中助けて下さって本当にありがとうございました
自分も最終的には教えれるほどの力をつけたいですね
784デフォルトの名無しさん:2012/05/29(火) 22:35:37.38
>>782
スマソ
負数が抜けてた

if (rad > 2 * M_PI)
{
rad -= 2 * M_PI * (int)(rad / (2 * M_PI));
}
else if (rad < 0.0)
{
rad += 2 * M_PI * (int)(fabs(rad) / (2 * M_PI) + 1);
}
785デフォルトの名無しさん:2012/05/29(火) 22:58:22.38
>>747
ありがとうございます
786デフォルトの名無しさん:2012/05/29(火) 23:26:57.80
いかんなあ
後ろから足すようにしても階乗もその都度求めないと誤差が大きい・・・
スピードを犠牲にするしかないのか
787デフォルトの名無しさん:2012/05/29(火) 23:31:40.33
割と気持ちのよい生徒さんだな
788デフォルトの名無しさん:2012/05/29(火) 23:35:08.24
>>786
階乗を求めて配列に入れとくといいかもね
789デフォルトの名無しさん:2012/05/30(水) 01:05:05.63
あかんなあ

π/4でcos(π/4-rad)を求めるように切り替えるか
あと象限を4つに分けて全部で8等分して出来るだけ小さいradを使うようにしないと
誤差が大き過ぎる

FPU作る時はいろいろ考えたんだろうね
SSE2でsinとかcosを求めるアセンブラでも見て研究するか
まともにやったらうまくいかんよ・・
790デフォルトの名無しさん:2012/05/30(水) 01:25:04.85
1] 授業単元:ネットワーク
[2] 問題文:
マジックパケットを送信するソフトを作成せよ

[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:なし
[5]

よろしくお願いします
791デフォルトの名無しさん:2012/05/30(水) 01:57:55.71
>>789
http://ideone.com/cOeZ2

別に積み残しの誤差はそんなにないように見えるけどな
どっかプログラム間違ってんじゃねーの
792デフォルトの名無しさん:2012/05/30(水) 09:53:51.78
>>789
誤差なんて気にならないレベルだろ
double mysin(double theta)
{
double r=0.0, x=1.0;
int i;

theta=fmod(theta, 2.0*M_PI);

x=theta;
r=theta;
for(i=3;i<100;i+=2)
{
x=-x*theta*theta/((i-1)*i);
r+=x;
printf("x=%f\n", x);
if(fabs(x)<1.0e-10) break;
}
return r;
}
793デフォルトの名無しさん:2012/05/30(水) 13:29:01.63
{1] 授業単元:プログラミング言語演習
[2] 問題文:
1リットルのペットボトルに1杯ずつ水を入れるたびにその入れた量を加算し、ペットボトルの許容量を超えたことを表示しなさい。
ペットボトルの許容量は1000mlとする。

実行例↓  (適当な数字を入れていきます)

水の量を入力してください
580
1杯目の量=580ml,合計580ml
水の量を入力してください
310
2杯目の量=310ml,合計890ml
水の量を入力してください
220
3杯目の量=220ml,合計1110ml
許容量オーバー 3杯目で一杯になりましあ。

[3] 環境
[3.1] OS:Linux
[3.3] 言語: C言語
[4] 期限:できれば明日まで
[5] その他の制限: for文とelseを使用

よろしくお願いします。
794デフォルトの名無しさん:2012/05/30(水) 13:37:32.45
#include <stdio.h>

int main(void)
{
int i, n, sum = 0;

for(i = 1; ; i++) {
printf("水の量を入力してください\n");
scanf("%d", &n);
sum += n;
printf("%d杯目の量=%dml,合計%dml\n", i, n, sum);
if(sum > 1000) break;
}

printf("許容量オーバー %d杯目で一杯になりましあ。\n", i);

return 0;
}
795デフォルトの名無しさん:2012/05/30(水) 13:38:32.86
>>793
#include <stdio.h>

int main(void)
{
int x=0, v, i;

for(i=1;;i++)
{
printf("水の量を入力してください\n");
if(scanf("%d", &v)!=1) break;
x+=v;
printf("%d杯目の量=%dml,合計%dml\n", i, v, x);
if(x>=1000)
{
printf("許容量オーバー %d杯目で一杯になりましあ。\n", i);
break;
}
}

return 0;
}
796デフォルトの名無しさん:2012/05/30(水) 18:26:26.36
>>794-795

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

あと、誤字申し訳ないです。
797 ◆QZaw55cn4c :2012/05/30(水) 20:48:13.01
>>750
ご指摘感謝。書き直しました。多値返しができたらなあ、と思いました。

>>712
http://codepad.org/QNcwrgGt
798デフォルトの名無しさん:2012/05/30(水) 21:13:32.58
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):http://mail2.nara-edu.ac.jp/~asait/c_program/sample0/pi.htm
このリンクのプログラムは円周率を計算するプログラムで結果の表示は4桁区切りの12列表示。これを5桁区切りの10列に変更しなさい
[3] 環境
 [3.1] OS:Linux
 [3.3] 言語: C言語
[4] 期限: 今週中
[5] その他の制限:制限なし
799デフォルトの名無しさん:2012/05/30(水) 21:43:42.33
void Display(unsigned a[]) を手直しするだけなら
とても詰まらん課題だ
800798:2012/05/30(水) 21:58:07.67
ガタガタ抜かさずにとっととやれや
801デフォルトの名無しさん:2012/05/30(水) 21:58:42.65
>>799 答える訳でもなく、自分の思いを伝えるだけなら、とても詰まらんレスだ
802デフォルトの名無しさん:2012/05/30(水) 22:21:25.69
[1] 授業単元:if else
[2] 問題文(含コード&リンク):
三角形の3辺の長さ a,b,c をfloat型で入力し,
直角三角形,鈍角三角形,鋭角三角形のどれであるかを判定するプログラムを作成しなさい。
なお、if文をよういること
[3] 環境
 [3.1] OS:Windows
 [3.2] VC 6.0
 [3.3] 言語:C
[4] 期限:特になし
[5] その他の制限:if文まで。できれば、swapについて詳しく教えて下さい
803デフォルトの名無しさん:2012/05/30(水) 22:24:48.71
>802
「よういる」て。
804デフォルトの名無しさん:2012/05/30(水) 22:29:09.02
用いる、だよな。Fラン大?
805デフォルトの名無しさん:2012/05/30(水) 22:33:49.43
意味がわかればいいだろがカス
806デフォルトの名無しさん:2012/05/30(水) 22:40:43.77
キム・ヨウイルでも通じるならおkってかぁ?さすがFラン大か専門学校w
807デフォルトの名無しさん:2012/05/30(水) 22:42:40.94
>>805
カスはお前だろw
808デフォルトの名無しさん:2012/05/30(水) 22:44:33.96
>>805
よういる、では意味が分らん・・・分らんからお前がカスね。
809デフォルトの名無しさん:2012/05/30(水) 22:45:36.52
良う炒る、じゃないかな。生焼けだと中るんだよ。
810802:2012/05/30(水) 22:46:08.84
課題が難しいからってほんの読み間違えをバカにしてごまかして必死だなwwwww
解けないなら解けないって言えよ無能
811デフォルトの名無しさん:2012/05/30(水) 22:47:37.78
うん、溶けない。ですので次ぎの方どうぞ。
812デフォルトの名無しさん:2012/05/30(水) 22:50:20.63
>810
俺も解けないわー。
813デフォルトの名無しさん:2012/05/30(水) 22:52:57.40
>>810 あらー、ほどけないわねー
814デフォルトの名無しさん:2012/05/30(水) 22:55:38.19
>>802
swapなんかこの問題の何処で使うんだ?
815802:2012/05/30(水) 22:55:45.28
本気で解けないけどあえて俺をバカにする感じにレスすることで
解けるけど解けないフリしてる、ってアピールする作戦でたぁ〜〜〜wwwwwwwwwwwww
ほんとみっともねーなお前ら 素直に自分の非を認めたほうが潔良いのにwwwwwwwきめぇwwwww
816デフォルトの名無しさん:2012/05/30(水) 22:57:50.87
>815 あなたの番は終わりました。出口はあちらです。
817デフォルトの名無しさん:2012/05/30(水) 22:58:18.32
>>810 >>815
QZ叩きはどうした?任務を放棄されては困るのだが?
818デフォルトの名無しさん:2012/05/30(水) 23:01:15.08
>814
a < b < cにするためではないかと思った。
819デフォルトの名無しさん:2012/05/30(水) 23:05:58.02
820802:2012/05/30(水) 23:09:30.49
>>819
ま、とりあえずは動くみたいだから合格
お疲れ
821デフォルトの名無しさん:2012/05/30(水) 23:11:57.60
問題文で許容誤差が与えられていないから直角三角形の判定に失敗することがあるだろうけど
突っ込んだらいけないんだよね?
822デフォルトの名無しさん:2012/05/30(水) 23:12:11.94
>819
三角形にならないときが考慮されてないけどいいの?
1 2 100
とか。
823デフォルトの名無しさん:2012/05/30(水) 23:15:13.37
7 8 9 が鈍角三角形で合格ってw
824 ◆QZaw55cn4c :2012/05/30(水) 23:16:39.19
>>819
鈍角と鋭角が逆にならないか?
825802:2012/05/30(水) 23:21:43.40
おいおい、できないなら無理してコーディングすんじゃねーよ
もういいわ、今日は寝るから明日までに作っとけよな
826デフォルトの名無しさん:2012/05/30(水) 23:36:24.49
ばかばっかだな
827デフォルトの名無しさん:2012/05/30(水) 23:51:04.00
数学もわからんのか・・・
828デフォルトの名無しさん:2012/05/31(木) 00:14:17.05
日本語も分からんバカがいるから
数学も分からんアホがいて当然だろw
アホの三重奏だよwww
829デフォルトの名無しさん:2012/05/31(木) 02:42:26.71

[1] 授業単元:組合せ最適化
[2] 問題文(含コード&リンク):
安定結婚問題をGale-Shapley アルゴリズムを用いて実装するためにプログラミングしてください。
アルゴリズムについて→http://ja.wikipedia.org/wiki/%E5%AE%89%E5%AE%9A%E7%B5%90%E5%A9%9A%E5%95%8F%E9%A1%8C
[3] 環境
 [3.1] OS:Windows7
 [3.2] Visual Studio2010
 [3.3] 言語:どちらでも
[4] 期限:2012年6月1日
[5] その他の制限:なし

お願いします

830デフォルトの名無しさん:2012/05/31(木) 02:46:43.79
    ∧__∧
    ( ・ω・)   いやどす
    ハ∨/^ヽ
   ノ::[三ノ :.、
   i)、_;|*く;  ノ
     |!: ::.".T~
     ハ、___|
"""~""""""~"""~"""~"
831デフォルトの名無しさん:2012/05/31(木) 08:00:12.38
wiki<<一番選びたくないitは最初に候補から外したい。
832デフォルトの名無しさん:2012/05/31(木) 09:29:25.11
833デフォルトの名無しさん:2012/05/31(木) 09:33:02.82
ただし>>832は「振る」という動作は入れてなく、女性が誰からも告白されてないと
取り敢えずプロポーズを受けるという部分で微妙に違うので、気になる人は
正しく書きなおしてください
834デフォルトの名無しさん:2012/05/31(木) 09:50:40.16
2. woman decides whether accept or reject.

これだな
取り敢えず受けるのではなく拒否する事もあるのを乱数で決める必要あり
835デフォルトの名無しさん:2012/05/31(木) 13:03:05.59
>>834
バカかお前は
836デフォルトの名無しさん:2012/05/31(木) 13:07:10.71
>>832 ありがとうございます!
837デフォルトの名無しさん:2012/05/31(木) 15:12:37.11
>>804
最近は小学校でもこういう授業あるのかも

>>802
うおおはずかしいって言っておけばいいんだよ…
838デフォルトの名無しさん:2012/05/31(木) 15:26:06.44
男は好きな女性から順にpするのか?
それとも、とりあえず、そうでもない女性から順に言って最後に本命? >>834
839デフォルトの名無しさん:2012/05/31(木) 16:05:23.06
Gale-Shapley アルゴリズムには何種類かあるみたいなんだよ
でも>>834みたいに乱数で振っては今より高いランクの男性がアプローチしないまま
組み合わせが決定してしまいそうだし
840798:2012/05/31(木) 19:10:17.22
改良できる方いませんか?
841デフォルトの名無しさん:2012/05/31(木) 19:20:25.31
printfあたりいじくるだけだろ
自分でやれよ
マジ詰まんねーから誰も手ださねーんだよ
842798:2012/05/31(木) 19:28:33.42
そんなに簡単だったらこんなところに書き込みませんよ
ちゃんとプログラム読んでますか?
843デフォルトの名無しさん:2012/05/31(木) 19:55:12.71
>>842
ちゃんと授業を受けてればわかるはずのことができないからこんなところにくる羽目になってるんだろ?
844デフォルトの名無しさん:2012/05/31(木) 20:07:33.45
こんなところwww
別人の煽りにしても上出来じゃんwww
845デフォルトの名無しさん:2012/05/31(木) 20:25:24.09
4→5
1000→10000
846デフォルトの名無しさん:2012/05/31(木) 20:38:46.47
#if 0
void Display(unsigned a[]){
int i,j;
unsigned w[M];
to_decimal(a, w); // 16 進数 a を 10 進数 w に変換
printf("%4.1u.",w[0]); // 小数点以上の表示
for(i = 1; i < M; i++){
printf("%4.4u ", w[i]); // 4 桁ごと表示
j = i%12; // j は i を 12 で割った余り
if(j==0) printf("\n "); // 12 個表示したとき改行
}
printf("\n"); // 一番最後に改行
}
#else
void Display(unsigned a[]){
int i,j;
unsigned w[M];
to_decimal(a, w); // 16 進数 a を 10 進数 w に変換
printf("%5.1u.",w[0]); // 小数点以上の表示
for(i = 1; i < M; i++){
printf("%5.5u ", w[i]); // 4 桁ごと表示
j = i%12; // j は i を 12 で割った余り
if(j==0) printf("\n "); // 12 個表示したとき改行
}
printf("\n"); // 一番最後に改行
}
#endif
847デフォルトの名無しさん:2012/05/31(木) 20:40:08.92
ありゃだめだ
内部計算も5桁にしなきゃいけないな
848デフォルトの名無しさん:2012/05/31(木) 20:43:28.40
>>842
行で編集し、5桁で区切って表示すればいいんじゃない?
849デフォルトの名無しさん:2012/05/31(木) 22:01:11.42
/* 他は変更無し、必要な部分のみ */
for(i = 1; i < M; i++){
  switch(i%5){
  case 1: printf("%4.4u", w[i]); // 4 桁ごと表示
    break;
  case 2:printf("%1.1u %3.3u", w[i]/1000, w[i]%1000); // 4 桁ごと表示
    break;
  case 3:printf("%2.2u", w[i]/100); // 4 桁ごと表示
     if(i%25==13) printf("\n   "); // 10 個表示したとき改行
          else printf(" ");
     printf("%2.2u", w[i]%100); // 4 桁ごと表示
    break;
  case 4:printf("%3.3u %1.1u", w[i]/10, w[i]%10); // 4 桁ごと表示
    break;
  case 0:printf("%4.4u", w[i]); // 4 桁ごと表示
     if(i%25==0) printf("\n   "); // 10 個表示したとき改行
          else printf(" "); break;
  }
}
850デフォルトの名無しさん:2012/06/01(金) 00:52:49.53
3角形の3辺の長さがあたえられたとき、
正三角形、2等辺三角形、直角三角形か調べるプログラムをつくりなさい
ってな問題がでたことあるんだけど・・・
結構むずいよね。
851デフォルトの名無しさん:2012/06/01(金) 00:57:21.48
Wikiのリンク直しといた。
852デフォルトの名無しさん:2012/06/01(金) 09:43:48.68
/* >>850 二等辺三角形 */
#include <stdio.h>
int f(){
  float a, b, c, w, max;
  printf("INPUT a b c >");
  scanf("%f %f %f", &a, &b, &c);
  max = a;
  if (max < b) max = b;
  if (max < c) max = c;
  if(max >= a+b+c-max){printf("三角形にならない\n"); return 1;}
  if (a==b && a==c) printf("正三角形\n");
  else if (a==b || a==c || b==c) printf("二等辺三角形\n");
  w = a*a + b*b + c*c - 2*max*max;
  if (0 == w) printf("直角三角形\n");
  else if (0 < w) printf("鋭角三角形\n");
  else if (0 > w) printf("鈍角三角形\n");
  return 0;
}int main(){while(!f());}
853デフォルトの名無しさん:2012/06/01(金) 14:08:19.33
WikiとWikipediaの区別は付けよう。
854デフォルトの名無しさん:2012/06/01(金) 14:24:58.67
区別ついてないのはお前だw
855デフォルトの名無しさん:2012/06/01(金) 14:29:57.76
>>852
これもひどい
856デフォルトの名無しさん:2012/06/01(金) 15:00:31.94
maxにこだわるより、長さ順に入れ替えたほうがその後の判定が楽だろ
857798:2012/06/01(金) 15:30:57.95
849さんそれを
void Display(unsigned a[]){のところに書き足せばいいんですか?
858798:2012/06/01(金) 15:54:06.14
実行してみましたができていませんでした
859デフォルトの名無しさん:2012/06/01(金) 16:14:14.83
>>858
http://ideone.com/AP4p7

これで違うの?
860798:2012/06/01(金) 16:24:25.53
Mを251、Nを209にして1000桁まで表示させると正しく表示されません
861デフォルトの名無しさん:2012/06/01(金) 16:28:56.30
>>860
Mを5461646464、Nを164161654646にすればいいよ
862デフォルトの名無しさん:2012/06/01(金) 16:31:22.94
>>860
Mを45450721にしれ
863デフォルトの名無しさん:2012/06/01(金) 16:32:38.96
>>860
SとEを4545、Xを072で一回試してみ?
864デフォルトの名無しさん:2012/06/01(金) 16:34:09.89
まーたVIPPERのガキどもか
865798:2012/06/01(金) 16:40:04.08
859さん1000桁表示にするなら
void main(){の中も変更しなければいけません
リンク先に変更するところは載っています
866デフォルトの名無しさん:2012/06/01(金) 16:48:31.62
#define M 2000
#define N 1661
867デフォルトの名無しさん:2012/06/01(金) 17:08:41.84
printf("\n     ");
>>798
#include <stdio.h>
void swap(float *i, float *j, float *k){
  *k = *i, *i = *j, *j = *k; }
int f(){
  float a, b, c, w, t;
  printf("INPUT a b c >");
  if(scanf("%f %f %f", &a, &b, &c) != 3) return 1;
  if(b>a && b>=c) swap(&a, &b, &t);
  else if(c>a && c>=b) swap(&a, &c, &t);
  if(0 >= b+c-a){printf("三角形にならない\n"); return 1;}
  if (a==b && a==c) printf("正三角形\n");
  else if (a==b || a==c || b==c) printf("二等辺三角形\n");
  w = b*b + c*c - a*a;
  if (0 == w) printf("直角三角形\n");
  else if (0 < w) printf("鋭角三角形\n");
  else if (0 > w) printf("鈍角三角形\n");
  return 0; }
int main(){while(!f());}
868デフォルトの名無しさん:2012/06/01(金) 18:03:10.29
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://www.fluid.cse.nagoya-u.ac.jp/~ishihara/c/Sec6kadai0.html
[3] 環境
 [3.1] OS: Mac
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:6月4日

double daikei(double e, double f, double g); として
e,f,gをa,b,nにそれぞれ対応させようとしたのですが無理でした・・・

どなたかお願いします!
869デフォルトの名無しさん:2012/06/01(金) 18:04:00.41
870デフォルトの名無しさん:2012/06/01(金) 18:07:34.54
>>868
double daikei(double e, double f, int g);
とすりゃあいい

intで宣言されてるnを
ムリクリdoubleにしようとするからムリになる
ぶっちゃけ言えば対応できない intのnが
871デフォルトの名無しさん:2012/06/01(金) 18:24:47.43
872デフォルトの名無しさん:2012/06/01(金) 21:11:37.49
偏差値が低い大学の宿題ってやっぱりレベル低いですね

873デフォルトの名無しさん:2012/06/01(金) 21:18:29.99
Nice joke.
874デフォルトの名無しさん:2012/06/01(金) 21:23:18.00
>>871
ありがとうございます。double sekibun,x,dxのsekibunを見落としていました。
助かりました!
875798:2012/06/01(金) 22:00:35.46
>>869
C++で書かれてますけどCでも問題なく動くのでしょうか?
また、何桁でも問題なく正しく動作するのでしょうか?
実行できる環境がないものですみません。また、初心者ですみません。
876デフォルトの名無しさん:2012/06/01(金) 22:04:13.31
どこにもC++要素なくね?
877デフォルトの名無しさん:2012/06/01(金) 22:06:47.67
くねくね?
878デフォルトの名無しさん:2012/06/01(金) 22:08:03.43
まぁそのページにはしっかりとC++と書いてあるし、
それにC++を知らない人なら
C++要素が本当に無いのかは
一見では分からんわな
Cだけで出来ているてのを目視だけで確かめるのもめんどいし
たぶんgccではその手のスイッチ無しなら何事もなくコンパイル通るだろうし
879798:2012/06/01(金) 22:09:15.81
language:C++ (gcc-4.3.4)ってなってるけど?
880デフォルトの名無しさん:2012/06/01(金) 22:19:37.14
>>879
http://ideone.com/Orj3X
clone>C>submit
するだけで確認できるだろ
881デフォルトの名無しさん:2012/06/01(金) 22:31:32.92
>>879
IDない場所だからなりすましかもしれんけど、お前その言い方はないんじゃないか?
無知でお願いする立場なんだから敬語使えや
882デフォルトの名無しさん:2012/06/01(金) 22:54:07.62
>>880に先をこされていた
883デフォルトの名無しさん:2012/06/01(金) 23:16:01.49
>>875
ttp://ideone.com/iA7ak
1万桁、合ってるかどうかは知らん
てか、実行できる環境はここじゃん
884 ◆QZaw55cn4c :2012/06/01(金) 23:58:22.54
885デフォルトの名無しさん:2012/06/02(土) 01:27:45.80
あいかわらずすごいバカっぷりを晒してるな
886デフォルトの名無しさん:2012/06/02(土) 01:47:46.55
[1] 授業単元:情報解析
[2] 問題文(含コード&リンク): y = 2*x^n + 3x + 5 の式における
前進/中央/後退 差分による微分値を(n = 2,6) で求めるプログラムを作成しなさい。
ただし微分値は2点微分。
[3] 環境
 [3.1] OS:Windows
 [3.3] 言語: C言語
[4] 期限: 6/5 12:00
[5] その他の制限:制限なし
887デフォルトの名無しさん:2012/06/02(土) 03:34:45.77
>>885
こう書くことでQZのコードを読ませて、指摘させようという作戦は飽きた
888デフォルトの名無しさん:2012/06/02(土) 03:59:35.83
作戦も何も馬鹿だから馬鹿と言ってるんじゃね?
自分が馬鹿呼ばわりされた時にそれを謙虚に受け止められない奴には向上の余地が全くない
889 ◆QZaw55cn4c :2012/06/02(土) 04:20:37.44
>>885 >>888
>>871
>x += dx;
は誤差が累積しませんか?であるならば、少々速度が犠牲になろうとも
for(i = 0; i < n; i++) {
x1 = a + ((b - a) * i ) / n;
x2 = a + ((b - a) * (i + 1)) / n;
f(x1), f(x2) ...

のほうがまし。
いや、せっかくx2を求めたんだから次のステップで使いまわすくらいはしてあげたほうがいいかもしれませんね。
http://ideone.com/iDR0K
890デフォルトの名無しさん:2012/06/02(土) 06:05:05.58
>>886
問題がよく分からん
微分とかほとんど忘れたけど、たとえばx=1での微分を求めよとか
xを指定するものじゃないの?
891デフォルトの名無しさん:2012/06/02(土) 06:22:13.39
類似問題ではこんな感じ

(a) y=x^3としてx=1での微分を前進差分公式、後退差分公式、中央差分公式で求めよ。

(b) (a)の問題でlimΔx→0を省くと、前進差分公式、後退差分公式、中央差分公式から
得られる結果は それぞれ3+3Δx+Δx^2, 3-3Δx+Δx^2, 3+Δx^2であることを確かめ
よ。正しい微分は3であるので、以上の3個の数式で3以外は誤差である。いまΔx=
0.1とすると中央差分公式の誤差が最も小さいことを示せ。
892デフォルトの名無しさん:2012/06/02(土) 08:05:17.24
>>886
ttp://ideone.com/7cOzw
問題がよく分からないので(n = 2, x=6)と強引に解釈してみた
微分は詳しくないので問題の意図どおりかは分からない

[2] 問題文(含コード&リンク): y = 2*x^n + 3x + 5 の式における
前進/中央/後退 差分による微分値を(n = 2, x=6) で求めるプログラムを作成しなさい。
ただし微分値は2点微分。
893798:2012/06/02(土) 11:47:35.70
Ideone.comって何なんですか?
詳しく教えてください
894デフォルトの名無しさん:2012/06/02(土) 13:13:09.83
サイトに行くこともできないの?www
895デフォルトの名無しさん:2012/06/02(土) 13:23:58.73
>>889
仮にその言い分を認めたところで、バカなところはまだまだあるけどな
896デフォルトの名無しさん:2012/06/02(土) 13:52:41.94
>>895
アホに触らない方がいいぞ
アホさが伝染る
897デフォルトの名無しさん:2012/06/02(土) 14:38:18.71
>>890-891
すみませんでした。そしてプログラムありがとうございます
xの値を書き忘れていました。正しくはx=1です
改めて書きますと
[1] 授業単元:情報解析
[2] 問題文(含コード&リンク): x=1 ,y = 2*x^n + 3x + 5 の式における
前進/中央/後退 差分による微分値を(n = 2,6) で求めるプログラムを作成しなさい。
ただし微分値は2点微分。
[3] 環境
 [3.1] OS:Windows
 [3.3] 言語: C言語
[4] 期限: 6/5 12:00
[5] その他の制限:制限なし
よろしくお願いします
898デフォルトの名無しさん:2012/06/02(土) 15:10:32.27
>>897
ttp://ideone.com/XPFdj
2点微分とかよく分からないけど
899デフォルトの名無しさん:2012/06/02(土) 15:14:37.81
>>898
ありがとうございます
900デフォルトの名無しさん:2012/06/02(土) 17:41:13.13
>>889
どこが馬鹿なのか指摘していただけませんか?のステップが抜けてるよ
901デフォルトの名無しさん:2012/06/02(土) 18:12:48.47
>>900
相手にすんな
902 ◆QZaw55cn4c :2012/06/02(土) 20:09:04.52
>>895
ふむ。考えて見ます。ご指摘感謝。

>>900
正直いってそれはネタトーク。
903 ◆QZaw55cn4c :2012/06/02(土) 20:13:42.37
>>895
これはどう?http://ideone.com/IOsSG
904デフォルトの名無しさん:2012/06/02(土) 22:58:52.19
void __CalFPS(int f){

static clock_t start1, end;
static int count;
count=(count%1000000)+1;

if(!(count%f)){
start1 = clock();
printf("FPS= %f \n",(f*CLOCKS_PER_SEC)/(start1-end));
end = clock();
}
}

これをループの途中に挟んで1秒当たりに何回ループしてるか出したい
これやるとFPS=0.0000000がだ〜っと出るだけなんだが何故なんだ!?
main文の中じゃないとダメとか?
変数fは毎回呼び出すと重いし、値が安定しないと思ったのでこうした
905デフォルトの名無しさん:2012/06/02(土) 23:17:20.28
%f->%n
906デフォルトの名無しさん:2012/06/02(土) 23:17:38.07
まちがいた、%f->%d
907デフォルトの名無しさん:2012/06/02(土) 23:23:07.00
アヒャw
しっかり数値出ました。
すっきりしました!ありがとうございます!
908デフォルトの名無しさん:2012/06/02(土) 23:24:44.88
>>904です
>>906様ありがとうございました!
909デフォルトの名無しさん:2012/06/03(日) 23:01:42.88
[1] 授業単元:繰り返し処理
[2] 問題文(含コード&リンク):
キーボードから整数 a, bの値を読み込み,
aからbまでカウントアップするプログラムをfor文を用いて作成しなさい。
ただし,読み込んだa, bの値がa > bの場合には、
「カウントアップできません。」と表示して終了すること。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C
[4] 期限:なし
[5] その他の制限:for文までしか習っていません
910デフォルトの名無しさん:2012/06/03(日) 23:12:06.41

みたいな宿題出す学校ってめっちゃ偏差値低そうw
911デフォルトの名無しさん:2012/06/04(月) 04:54:03.02
912デフォルトの名無しさん:2012/06/04(月) 05:37:05.01
レベルの低い質問ですいません

大学でプログラミング習い始めて C++ で数行程度のプログラムかけるようになったんですが
大学では UNIX 上でテキストにかいてコマンドラインでコンパイルして実行するの教わったんですが
うちで Windows 上で C++ の勉強するにはどうしたらいいでしょうか

Visual Studio 2010 っていうの入れてみたんですけど
メイン関数はないわ実行の仕方わからないわで数時間格闘してて困り果ててます
913デフォルトの名無しさん:2012/06/04(月) 06:11:44.82
914デフォルトの名無しさん:2012/06/04(月) 06:20:09.35
ありがとうございます!
がんばってみます!
915デフォルトの名無しさん:2012/06/04(月) 15:36:11.29
無理してwindows使うこともないと思うけど
素直にlinux入れたら?
916デフォルトの名無しさん:2012/06/04(月) 16:28:46.98
windowsならgcc入れるのが一番早いんじゃね?
コマンドプロンプトで出来るし

shiftおしながら右クリックな
そのディレクトリでcmdを開く
917デフォルトの名無しさん:2012/06/04(月) 20:13:42.24
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): http://codepad.org/3bGYoGjz
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2012年6月5日 午前8:00まで
[5] その他の制限:構造体での計算の仕方がよくわかりません。105行あたりから
できればリンク先のプログラムを訂正するかたちでお願いします。
918デフォルトの名無しさん:2012/06/04(月) 20:30:45.55
>>917
ttp://codepad.org/rPzBpAs1
コンパイルは通ったけどデバッグが必要だぬ
919デフォルトの名無しさん:2012/06/04(月) 20:35:31.69
>>918
とりあえず92行目の max_row = k; で初期化されてない k が使われている
920デフォルトの名無しさん:2012/06/04(月) 20:41:54.95
問題文 2x-3z-w=-26 */
もしくは29行目 2.0, -3.0, 0.0, -1.0, -26.0
の何れかが間違ってる
921デフォルトの名無しさん:2012/06/04(月) 20:46:49.02
exchange_matrix関数も怪しいな
値を退避しないと上書きしてるような
922デフォルトの名無しさん:2012/06/04(月) 20:55:50.33
90行目 x = init_matrix(mat.col-1,1); の row, col もおかしいような
923917:2012/06/04(月) 20:57:08.21
>>917,>>919,>>920,>>921
返信ありがとうございます。
max_rowの書く場所を間違えていました。
問題文の 2x-3z-w=-26ほうが正しいです。
exchange_matrixも怪しいと思います・・・
あと少しだと思うのですが・・・
現状です http://codepad.org/tnoukExj
924デフォルトの名無しさん:2012/06/04(月) 21:07:08.31
>>922
ま、これはこれでいっか
1行目にx、2行目にy、3行目にz、4行目にwの解を入れるってことだぬ
925デフォルトの名無しさん:2012/06/04(月) 23:30:40.92
>>923
ttp://codepad.org/T9oqJX4W
思ったよりてこずった
解が合ってるかは知らん
926917:2012/06/04(月) 23:39:20.44
>>925
ありがとうございます。
解は手計算でしたものと同じなのであっていると思います。

私も頑張っていたのですがfor文のミスがたくさんありました・・・
無理を言ってすみませんでした。
ありがとうございました。
927デフォルトの名無しさん:2012/06/05(火) 12:24:07.14
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
n次元ベクトル(x_1, x_2,..., x_n)^Tのp-ノルムを求めるプログラムを
配列を利用して作成しなさい.
pを入力し、1,2,...,p-ノルムの値をすべてprintfで出力すること.
p、n次元、ベクトルの成分は全てscanfで任意に読み込むようにすること。
絶対値と巾乗を計算する関数 fabs(), pow()を使用してよい。
ただし、未学習のポインタやライブラリ関数以外の関数は使用してはならない。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2012年6月5日
[5] その他の制限:よろしくお願いします。
928 ◆QZaw55cn4c :2012/06/05(火) 12:34:33.52
929デフォルトの名無しさん:2012/06/05(火) 12:56:05.45
QZがまた問題文読んでない
930デフォルトの名無しさん:2012/06/05(火) 13:06:26.64
クズに問題文が読めるわけなかろう
931デフォルトの名無しさん:2012/06/05(火) 13:11:22.28
Qはアイちゃんの出来損ないの失敗作らしい
932デフォルトの名無しさん:2012/06/05(火) 13:15:17.51
scanfワロタ
933デフォルトの名無しさん:2012/06/05(火) 13:30:49.02
今回の主役はどうみてもscanf
934デフォルトの名無しさん:2012/06/05(火) 13:35:40.08
>>497が末尾再帰でない事がC言語は俺スレでバレて珍しくしおらしかったQwwww
935デフォルトの名無しさん:2012/06/05(火) 14:19:23.13
>>927
ttp://ideone.com/tbIuI
p-ノルムとかよく分からんけど
936デフォルトの名無しさん:2012/06/05(火) 14:26:47.49
同じトコロの課題か?
前にも全く同じような宿題があったような気がするけど
937デフォルトの名無しさん:2012/06/05(火) 14:47:47.79
[1] 授業単元: コンピュータプログラミング
[2] 問題文(含コード&リンク):
2つの多次元ベクトルX,Yの和を出力する関数を作りたい。
X={x1, x2, ..., xN}, Y={y1, y2, ...,yN}でこの二つの配列の値の和をポインターとして
出力する関数 int *add(int *address1, int * address2, int length)を定義し、
その動作を確認するプログラムkadai7-1.cを作りなさい。ただしlengthは2つの配列の長さを表すものとする。
ただし、
int a[2], b[2];
scanf("%d %d %d %d", &(a[0]), &(a[1]),&(b[0]),&(b[1]));
で配列の値をセットするものとして、答えは以下で出力されるものとする。
printf("c = %d %d\n", c[0], c[1]);
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 6月8日
[5] その他の制限: 特になし

よろしくおねがいします
938デフォルトの名無しさん:2012/06/05(火) 14:50:25.96
[1] 授業単元: コンピュータプログラミング
[2] 問題文(含コード&リンク): http://ideone.com/qvNtf
2[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 6月8日
[5] その他の制限: 特になし

よろしくおねがいします
939デフォルトの名無しさん:2012/06/05(火) 15:15:14.41
scanf先生大活躍の巻
940デフォルトの名無しさん:2012/06/05(火) 15:24:26.93
941デフォルトの名無しさん:2012/06/05(火) 15:36:58.19
942デフォルトの名無しさん:2012/06/05(火) 15:37:54.68
943文系初心者:2012/06/05(火) 19:47:25.39
[1] 授業単元: プログラミング入門
[2] 問題文(含コード&リンク):

1 for文を用いて0.1の二乗、0.2の二乗、0.3の二乗と0.1ずつ10まで増やしていき、その値をファイルdata1.txtに書き出す。
書き出した後で、ファイルからデータを読み込み画面に出力する。


2 a = 3.1, b = 2.9, c = −1.1, d = 5.3の最大値、最小値を求め画面に出力する



[3] 環境
 [3.1] OS: windows
 [3.1] コンパイラ名とバージョン:visual stadio 2010
[3.3] 言語: C
[4] 期限:5月6日
[5] 二問も申し訳ないのですが
よろしくお願いします。
944デフォルトの名無しさん:2012/06/05(火) 20:17:33.59
945 ◆QZaw55cn4c :2012/06/05(火) 20:24:09.84
>>934
>珍しくしおらしかった
珍しくないとおもいますよ。でも
しおらしい
なんて美しい言葉をご存知ですね。こんど使ってみよう。
946デフォルトの名無しさん:2012/06/05(火) 20:26:53.55
947デフォルトの名無しさん:2012/06/06(水) 15:36:42.18

[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
配列strに文字列を入力した後、
最初の2文字を取り除いた文字列を表示せよ
参考:ttp://kie.nu/cCu
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:Visual Studio2010
 [3.3] 言語:C言語
[4] 期限:6/7
[5] その他の制限:特になし

期限が短いですがお願いします。
948デフォルトの名無しさん:2012/06/06(水) 15:47:44.72
#include <stdio.h>

int main(void)
{
char str[256];

printf("文字列を入力してください。\n");
scanf("%s", str);

printf("最初の二文字を除いた文字列は・・・\n%s\nです。\n", str + 2);

return 0;
}
949デフォルトの名無しさん:2012/06/06(水) 15:52:41.43
2文字以下の入力例外を入れるなら strlen でチェック?
950デフォルトの名無しさん:2012/06/06(水) 15:55:12.19
951デフォルトの名無しさん:2012/06/06(水) 18:12:39.79
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS:mac
 [3.2] xcode
 [3.3] c
[4] 期限:本日八時
[
952デフォルトの名無しさん:2012/06/06(水) 18:15:16.24
水差し問題です

4l3lの二つの容器で4l容器の方で2lをはかる プログラム作ってみたのですが解説を日本語にするのができません
どのように解説を付けたらいいでしょうか またうまく動作していません なぜでしょうか


#include <stdio.h>
#define ROW 2
#define COLUMN 100
int FLAG(int u,int v,int x,int y,int i,int j);


int main(void){
int x=0,y=0;
int i,j,n,m;
int flag=1;
int a[ROW][COLUMN]={};
int g=a[0][0]+a[1][0];
printf("水差し問題\n");
printf("4L=%d,3L=%d,Goukei=%d\n",a[0][0],a[1][0],g);


for(i=1;i<=100;i++){
n=a[0][i-1];
m=a[1][i-1];
if(n==2 && m==0){
printf("-終了-\n"); // [2] [0]の状態で終了 を表示
return 0;
}
953デフォルトの名無しさん:2012/06/06(水) 18:17:20.04

if(n<4 && flag==1){
x=4;
y=m;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}
}
}
if(m<3 && flag==1){
x=n;
y=3;
g=n+3;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}
}
}
if(n>0 && flag==1){
x=0;
y=m;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}}}
954デフォルトの名無しさん:2012/06/06(水) 18:19:38.78
if(m>0 && flag==1){
x=n;
y=0;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}}}
if(g>=3 && n>0 && m<3 && flag==1){
x=n+m-3;
y=3;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}} }
if(g>=4 && n<4 && m>0 && flag==1){
y=n+m-4;
x=4;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}} }
955デフォルトの名無しさん:2012/06/06(水) 18:20:07.98

if(g<4 && n<4 && m>0 && flag==1){
x=n+m;
y=0;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
}
}
}
if(g<3 && n>0 && m<3 && flag==1){
y=n+m;
x=0;
for(j=0;j<=i;j++){
flag=FLAG(a[0][j],a[1][j],x,y,i,j);
if(flag==1){
break;
} } }
if(flag==0){
a[0][i]=x;
a[1][i]=y;
g=a[0][i]+a[1][i];
printf("4L=%d,3L=%d,Goukei=%d\n",a[0][i],a[1][i],g);
flag=1;
}}} このif文たちの解説をしたいのですが...どのようにすればいいのでしょう
956デフォルトの名無しさん:2012/06/06(水) 18:21:27.36
int FLAG(int u,int v,int x,int y,int i,int j){
int b;
if(x==u && y==v){
b=1;
return b;
}
else if(i==j){
b=0;
return b;
}
}




長くなり失礼しました。簡潔に言うとこのプログラムの日本語での説明 変数 何をしているのか

また、これよりも良いプログラムがあれば教えていただきたいです。どうぞよろしくお願いいたします
957デフォルトの名無しさん:2012/06/06(水) 18:25:32.97
>プログラム作ってみたのですが解説を日本語にするのができません
自分で作ったんなら説明できるだろw
958デフォルトの名無しさん:2012/06/06(水) 18:29:28.05
>問題文がこのようなもんだいなのです
959デフォルトの名無しさん:2012/06/06(水) 19:54:42.63
[1] 授業単元: c言語演習
[2] 問題文(含コード&リンク): 整数nを入力し、以下のようなサイズnの"Z型の図形"を"*"で表示するプログラムを作成しなさい、ただし、図形を表示するためのnの値は3以上とし、2以下の値が入力された場合は処理を終了するようにしなさい。

[実行例]

3 ←nの入力
n=3
***
*
***
4
n=4
****
*
*
****
0 ←データの終わり(2以下の値)
  ← n=0は表示しない

[3] 環境
 [3.1] OS:linux
 [3.2]
 [3.3] c 言語
[4] 期限:明日まで
for文利用お願いします。

初めてなので至らぬ点があるかと思いますがお願いします。
個人では戻った後のnの数の*表示できませんでした。
960デフォルトの名無しさん:2012/06/06(水) 20:06:36.76
>959
#include <stdio.h>

int main(void) {
int n, r, c, cur;
for( ; ; ) {
scanf("%d", &n);
if(n <= 2) { break; }
printf("n=%d\n", n);
cur = n - 1;
for(r=0; r<n; r++) {
for(c=0; c<n; c++) {
if(r==0 || r==n-1 || c==cur) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
cur--;
}
}
return 0;
}
961デフォルトの名無しさん:2012/06/06(水) 20:49:36.39
>>960
ありがとうございます。
自分との違いもわかり大変参考になりました。
962デフォルトの名無しさん:2012/06/06(水) 22:30:08.31
printf( "%*c", cur, '*' )とか使うとちょっとだけ楽。
963デフォルトの名無しさん:2012/06/06(水) 23:26:20.15
>>948 >>950
ありがとうございます!
964デフォルトの名無しさん:2012/06/06(水) 23:45:53.19
>>952
ttp://ideone.com/qeWBu
可読性が悪いのでとりあえず整形だけした
965デフォルトの名無しさん:2012/06/07(木) 00:59:24.29
966デフォルトの名無しさん:2012/06/07(木) 02:23:15.31
967デフォルトの名無しさん:2012/06/07(木) 05:49:23.36
総当たりして解にヒットしたらその履歴(親)をさかのぼって表示する寸法やね
968デフォルトの名無しさん:2012/06/07(木) 07:29:34.10
総当たり法というより場当たり法のような
実行できる手順は「満たす、空にする、移し替える」の3通り
総当たりなら最初に実行できるのは「満たす」そして次に…とパラレルで探索
手順と使用する水の少ないものを選択肢として残していく
水差し問題はコンピュータで思考ルーチンを組むのになかなかいい課題だと思う
969デフォルトの名無しさん:2012/06/07(木) 15:07:20.35
>>966
solve の最後に return -1; 追加で
970デフォルトの名無しさん:2012/06/07(木) 19:26:02.69
コンピュータってw
971デフォルトの名無しさん:2012/06/07(木) 19:26:11.01
>>968
場当たり法ってなんだよ
幅優先探索っていう名前があるだろ
972デフォルトの名無しさん:2012/06/07(木) 21:07:54.95
#include
main(){
int i,j;
j=1;
for(i=1;i<11;i++){
j=i*j;
}
printf("j=%d",j);
return 0;
}
をwhile文に書き換える時に、
正の整数が入力される限り繰り返すときのwhileの条件文を教えてください
973デフォルトの名無しさん:2012/06/07(木) 21:32:58.24
while ( (c=getchar()) > 1 )
とかは間違えなのでやらないでくささい

974デフォルトの名無しさん:2012/06/07(木) 21:51:59.62
>972
エスパーしてみる。
#include <stdio.h>
int main(void) {
int i, j, n;
n = 0;
while(n <= 0) {
printf("n=");
scanf("%d", &n);
}
j = 1;
for(i=1; i<=n; i++){
j = i * j;
}
printf("j=%d", j);
return 0;
}
975デフォルトの名無しさん:2012/06/07(木) 21:53:21.89
976デフォルトの名無しさん:2012/06/08(金) 11:29:52.99
flvの再生できるソフト作りたいんだが参考になるサイト教えて
977デフォルトの名無しさん:2012/06/08(金) 12:08:33.28
978デフォルトの名無しさん:2012/06/08(金) 21:09:00.03
[1] 授業単元:2次元配列
[2] 問題文(含コード&リンク):
新幹線「のぞみ」の料金(ただし運賃との合計額)は以下の表の通りである。
出発駅と到着駅をそれぞれ駅番号で入力し,料金を表示するプログラムを作成しなさい。
なお駅番号は,東京が1,新横浜が2,名古屋が3,京都が4,新大阪が5とする。
但し、料金を表示してから後で、1 を入力すると上記の処理を繰り返し、0 を入力するとプログラムを終了するものとする。
      新大阪  京都 名古屋 新横浜 
東京 14,920 14,390 11,540 3,180
新横浜 14,600 13,660 10,910
名古屋 6,840 6,100
京都 3,240

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C
[4] 期限:いつでも
[5] その他の制限:2次元配列までしかやってないので、関数は使わないでください。
979デフォルトの名無しさん:2012/06/08(金) 21:58:07.50
980デフォルトの名無しさん:2012/06/09(土) 23:11:57.18
めっちゃ関数使ってるやん
981デフォルトの名無しさん:2012/06/09(土) 23:14:39.41
>>980
mainだけで出来てるだろ

エスパー能力低いアホだな
回答すんなよな、オマエ

関数使わないでくれ って初心者が言ってるんだから察しろよエスパーしろよw
ゴミカスはちょっと黙ってろwww
邪魔な汚物だ
982デフォルトの名無しさん:2012/06/09(土) 23:19:14.04
printf()って関数だよね
printf()って関数だよね
printf()って関数だよね
printf()って関数だよね
printf()って関数だよね
983デフォルトの名無しさん:2012/06/09(土) 23:26:29.83
こうなると、屁理屈としか思えないんだけど

設問者に直接聞いてみたらどうなの?
984デフォルトの名無しさん:2012/06/10(日) 09:10:09.69
>>982への回答が>>981になっててワロタ
982はどうしてどんなレスをした
985デフォルトの名無しさん:2012/06/10(日) 11:43:13.26
こういうのを期待していたのではあるまいか。
ttp://www.ioccc.org/1984/mullender.c
986デフォルトの名無しさん:2012/06/10(日) 11:49:29.12
サイト名からして上級者向けじゃねーかwww
987デフォルトの名無しさん:2012/06/10(日) 17:19:37.69
(c言語)
関数f(x)=4.0/(1.0+X^2) の (0,1)間の定積分を
台形公式を用いて計算するプログラムを作成せよ。
台形の分割数 n は 2のk乗とし、(k=1,2,3,,,10)について求める
[台形公式]
関数f(x)の定積分値は、積分区間(a,b)を幅hの区間にn等分し、
区分点をx0(=a), x1, .. xn(=b)とするとき、面積Sは
S=h×[0.5×f(x0)+f(x1)+f(x2)+...+0.5×f(xn)で近似される
988デフォルトの名無しさん:2012/06/10(日) 17:26:36.44
使用推奨だけれども>>2のテンプレすらも読まないのか、
それとも呼んだ上であえてテンプレを使わないのか

好意的に解釈すれば善社
989デフォルトの名無しさん:2012/06/10(日) 17:48:56.15
990デフォルトの名無しさん:2012/06/10(日) 18:14:06.91
>>987
#include <stdio.h>

double f(double x) { return 4.0 / (1.0 + x * x); }

int main(void)
{
int i, k, n;
double s, h, temp;

h = 1.0;
s = (f(0.0) + f(1.0)) * h / 2;

for(k = 1, n = 2; k <= 10; k++, n <<= 1) {
h /= 2;
for(i = 1,temp = 0.0; i < n; i += 2) temp += f(i * h);
s = s / 2 + temp * h;
printf("k = %2d : %f\n", k, s);
}

return 0;
}
991デフォルトの名無しさん:2012/06/10(日) 20:59:12.30
[1] 授業単元:構造体
[2] 問題文:http://kie.nu/d1g 応用課題
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名; Visual Studio2010
 [3.3] 言語:どちらでも可
[4] 期限: 6月10日23:59まで

基本課題はhttp://ideone.com/Lw3Ncのようにやりましたが、応用課題がわかりません。

お願いします
992デフォルトの名無しさん:2012/06/10(日) 21:32:22.27
993デフォルトの名無しさん:2012/06/10(日) 21:40:04.08
>>992
ありがとうございました
994デフォルトの名無しさん:2012/06/10(日) 22:07:18.69
[1] 授業単元:C
[2] 問題文(含コード&リンク):
まずテストを受けた生徒の人数を入力し、
それから各生徒の国語・数学・英語の点数(0〜100点の整数値)を入力して
2次元の配列に格納したうえで、生徒別の合計点・平均点と科目別の合計点・平均点とを
小数点以下まで計算して表示するプログラムを作成しなさい。
ただしテストを受ける生徒の人数は20人以下とする。

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C
[4] 期限:特になし
[5] その他の制限:
995デフォルトの名無しさん:2012/06/10(日) 22:11:23.56
もしかしてその課題

60個の数字を間違いなく入力しろ っていう
拷問なみのインタフェイスを作らせる課題なのか
996デフォルトの名無しさん:2012/06/10(日) 22:17:03.69
[1] 授業単元: c言語
[2] 問題文(含コード&リンク): http://codepad.org/30Mz7Pbj
このプログラムで何番目の値段をかえるではなく
名前を聞かれてその名前の値段をかえるプログラムにする。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2012年6月11日午後1時
[5] その他の制限: 特になし
997デフォルトの名無しさん:2012/06/10(日) 22:33:46.76
998デフォルトの名無しさん:2012/06/10(日) 22:49:05.00
>>995
リダイレクトも知らないクズは口出しすんな
999デフォルトの名無しさん:2012/06/10(日) 22:55:02.71
>>996
27〜29行目を入力された名前にぶち当たるまでループ
ヒットしなければ終了
1000デフォルトの名無しさん:2012/06/10(日) 23:12:13.15
>>998
工学部の情報系の授業だと
unixのコマンドってなぜか教わらないよね
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。