C言語なら俺に聞け(入門篇) Part 30
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/06/13(金) 23:38:08教えて欲しいのではなく宿題を丸投げしたいならこちらへ。
C/C++の宿題を片付けます 108代目
http://pc11.2ch.net/test/read.cgi/tech/1211980711/
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
前スレ
C言語なら俺に聞け(入門篇) Part 29
http://pc11.2ch.net/test/read.cgi/tech/1212329099/
過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
0002デフォルトの名無しさん
2008/06/13(金) 23:38:32Part 2 ttp://pc8.2ch.net/test/read.cgi/tech/1153818463/
Part 3 ttp://pc8.2ch.net/test/read.cgi/tech/1160682950/
Part 4 ttp://pc8.2ch.net/test/read.cgi/tech/1162999861/
Part 5 ttp://pc8.2ch.net/test/read.cgi/tech/1165022193/
Part 6 ttp://pc10.2ch.net/test/read.cgi/tech/1167325490/
Part 7 ttp://pc10.2ch.net/test/read.cgi/tech/1170064980/
Part 8 ttp://pc11.2ch.net/test/read.cgi/tech/1171946674/
Part 9 ttp://pc11.2ch.net/test/read.cgi/tech/1173284217/
Part 10 ttp://pc11.2ch.net/test/read.cgi/tech/1174290325/
Part 11 ttp://pc11.2ch.net/test/read.cgi/tech/1176800483/
Part 12 ttp://pc11.2ch.net/test/read.cgi/tech/1178620766/
Part 13 ttp://pc11.2ch.net/test/read.cgi/tech/1179301993/
Part 14 ttp://pc11.2ch.net/test/read.cgi/tech/1181735298/
Part 15 ttp://pc11.2ch.net/test/read.cgi/tech/1182719692/
0003デフォルトの名無しさん
2008/06/13(金) 23:38:57Part 17 ttp://pc11.2ch.net/test/read.cgi/tech/1185286631/
Part 18 ttp://pc11.2ch.net/test/read.cgi/tech/1187213990/
Part 19 ttp://pc11.2ch.net/test/read.cgi/tech/1190342593/
Part 20 ttp://pc11.2ch.net/test/read.cgi/tech/1192455273/
Part 21 ttp://pc11.2ch.net/test/read.cgi/tech/1194384258/
Part 22 ttp://pc11.2ch.net/test/read.cgi/tech/1196489491/
Part 23 ttp://pc11.2ch.net/test/read.cgi/tech/1198295362/
Part 24 ttp://pc11.2ch.net/test/read.cgi/tech/1201083176/
Part 25 ttp://pc11.2ch.net/test/read.cgi/tech/1203343907/
Part 26 ttp://pc11.2ch.net/test/read.cgi/tech/1206196600/
Part 27 ttp://pc11.2ch.net/test/read.cgi/tech/1209429897/
Part 28 ttp://pc11.2ch.net/test/read.cgi/tech/1211198816/
Part 29 ttp://pc11.2ch.net/test/read.cgi/tech/1212329099/
0004デフォルトの名無しさん
2008/06/13(金) 23:43:4600054
2008/06/13(金) 23:47:50また,この関数を使用して,キーボードから入力された文字列に
母音が何個含まれているかを表示するプログラムを作成せよ。
2,
(1)
ある自然数に対して,その自然数の約数は何個かを関数値として返すような
関数FactorQuantity()を作成せよ。
例として20の場合は{1,2,4,5,10,20}なので個数は6となる。
(2)
ある自然数Nの約数の個数が2個だけ(1とNだけ)の場合,Nは素数である。
そこで(1)の関数FactorQuantity()を利用してNが素数がどうかを判定し,
Nが素数なら1を返し,素数でなければ0を返す関数Prime()を作成せよ。
(3)
(2)の関数Prime()を用いて次のプログラムを作成せよ。
2つの自然数a,bを入力させ(a<bとする),a以上b以下の素数を全て表示するプログラムを作成せよ。
※ソースファイルは1つのファイルにまとめよ。
という2問です。
OSはリナックスです。
いままで習ったのは、printf、scanf、ループ文、if文、配列などです。まだポインタは習っていません。
解説も少し加えてくれるとありがたいです。
よろしくお願いします。
00065
2008/06/13(金) 23:48:410007デフォルトの名無しさん
2008/06/13(金) 23:49:32>>1
0008デフォルトの名無しさん
2008/06/14(土) 00:16:08float関数群が追加されたのはC95な。
0009デフォルトの名無しさん
2008/06/14(土) 00:16:550010デフォルトの名無しさん
2008/06/14(土) 00:21:24数値演算ライブラリと数値計算ライブラリは同一のものなのでしょうか?
数値演算ライブラリと検索しても詳しく出てこなくて
よろしくお願いします
0011デフォルトの名無しさん
2008/06/14(土) 00:25:1900125
2008/06/14(土) 00:32:18すいません
こちらへはURLをさしてたんですね…
0013デフォルトの名無しさん
2008/06/14(土) 00:33:040014デフォルトの名無しさん
2008/06/14(土) 00:39:450015デフォルトの名無しさん
2008/06/14(土) 00:44:06数値演算ライブラリと数値計算ライブラリが関係があるような記述があったので…
数値演算ライブラリとは何のことなのでしょうか
よろしくお願いします
0016デフォルトの名無しさん
2008/06/14(土) 00:54:44もし君がC言語の標準ライブラリのことを言っているのなら、それはたぶん数学関係ライブラリ <math.h> のことだ。
そうでないなら、それがどのようなものであるかは、すべてそのライブラリそのものに依存する。
ライブラリのマニュアルを読むこと。
0017デフォルトの名無しさん
2008/06/14(土) 01:01:09標準ライブラリの数値演算関数って事ですか、たぶん1年の初期の問題なんでこれなんだと思います
ありがとうございました。
0018デフォルトの名無しさん
2008/06/14(土) 01:41:320019デフォルトの名無しさん
2008/06/14(土) 02:09:31実現するライブラリのコードとか入ってるんだよね
最近のCPUは浮動小数点用の高機能命令が増えた
から数値演算ライブラリそのものが小さくなってるけど、
昔のCPUは浮動小数点演算そのものの機能がなくて
エミュレータが入っていた
今も組み込み用CPUだと浮動小数点演算ができない
ものはたくさんある
0020デフォルトの名無しさん
2008/06/14(土) 02:34:260021デフォルトの名無しさん
2008/06/14(土) 02:40:14基本的にはIEEE754とIBMエクセス64形式があるけど
ちょっと長いけど下のリンクを印刷でもしてじっくり読んでくれ
必ず役に立つ
http://docs.sun.com/source/806-4847/ncg_goldberg.html
0022デフォルトの名無しさん
2008/06/14(土) 02:45:13山ほど出てくる
0023デフォルトの名無しさん
2008/06/14(土) 02:53:11なんだか大変そうだけど俺頑張るよ父ちゃん!
0024デフォルトの名無しさん
2008/06/14(土) 04:30:42例えばif文でint形変数iが1〜9までの範囲ならtureだとする時はどうすればいいのでしょう。
if(i == 1,2,3,4,5,6,7,8,9)とやってみたところ、なぜか10以上の数でもtureになってしまいました。
0025デフォルトの名無しさん
2008/06/14(土) 04:32:260026デフォルトの名無しさん
2008/06/14(土) 04:34:45if()の中で,で区切って複数入れると一番右のものを判定する。
つまり、
if(i == 1,2,3,4,5,6,7,8,9) は if(9) と同じになり、9は真だから常にtrueになる。
0027デフォルトの名無しさん
2008/06/14(土) 04:35:440028デフォルトの名無しさん
2008/06/14(土) 04:36:20おおっ!なるほど。
言われてみれば、そのとおりです。
ありがとうございました。
0029デフォルトの名無しさん
2008/06/14(土) 04:37:01trueのスペルも間違えてましたorz
みなさん本当に感謝です
0030デフォルトの名無しさん
2008/06/14(土) 20:16:390031デフォルトの名無しさん
2008/06/14(土) 20:44:37実行時間比較したいんでお願いします
0032デフォルトの名無しさん
2008/06/14(土) 20:57:40C言語によるアルゴリズム事典(奥村晴彦)の付録のでは駄目なの?
手数料だけでフロッピーディスクで入手できるけど...
0033デフォルトの名無しさん
2008/06/14(土) 21:03:02STLじゃだめか?
0034デフォルトの名無しさん
2008/06/14(土) 21:33:400035デフォルトの名無しさん
2008/06/14(土) 21:40:410036デフォルトの名無しさん
2008/06/14(土) 21:42:390037デフォルトの名無しさん
2008/06/14(土) 21:49:31英語圏では単にCと呼ばれてるみたいなのですが。
話をする場合にはCと言っても問題ないと思うのですが。
JavaやC++の語尾に言語ってつけたりしませんよね?
Cだと一文字なので検索がしづらいということがありますが。
0038デフォルトの名無しさん
2008/06/14(土) 22:00:580039デフォルトの名無しさん
2008/06/14(土) 22:01:410040デフォルトの名無しさん
2008/06/14(土) 22:07:410041デフォルトの名無しさん
2008/06/14(土) 22:07:41「C言語」も同様の提案があったけど、アホな人が頑張って「C言語」のまま。
0042デフォルトの名無しさん
2008/06/14(土) 22:08:08確かにそうですが、ある単語が複数の意味を持っているということはよくあることなので。
それに中学生ではないのでCと聞いてセックスって思いませんよ普通。
文脈からプログラミング言語なのかセックスなのか分かると思いますが。
# 「はじめてのC」という書籍があります。
0043デフォルトの名無しさん
2008/06/14(土) 22:10:400044デフォルトの名無しさん
2008/06/14(土) 22:10:54Cなる言語
言語C
観念ι
勇者ライディーン
「エスペラント語」みたいなもんでしょ。呼び名としてはわかりやすいからいいんじゃないの。
>英語圏では単にCと呼ばれてるみたいなのですが。
むしろ英語圏での「the C language」「the C programming language」を直訳したんじゃないのw
0045デフォルトの名無しさん
2008/06/14(土) 22:12:26それは正式名称は何かっていう議論だよね。あれはアホじゃないだろうかと思ったけど、
まあ世の中そういうものだと思う
0046デフォルトの名無しさん
2008/06/14(土) 22:14:35これ一通り解けなきゃ何かを作るときとかまずいの?
0047デフォルトの名無しさん
2008/06/14(土) 22:19:56できあがるものはろくなもんじゃないだろうな
基礎は大事
0048デフォルトの名無しさん
2008/06/14(土) 22:21:24全然まずくない。むしろ(ry
0049デフォルトの名無しさん
2008/06/14(土) 22:22:30>>48
どっちだ・・・
0050デフォルトの名無しさん
2008/06/14(土) 22:26:110051デフォルトの名無しさん
2008/06/14(土) 22:47:11まずいって、何がまずいの?
C言語理解してなくても生きていけるし、
K&Rの演習が分からなくてもプログラムは書けるよ?
0052デフォルトの名無しさん
2008/06/14(土) 22:51:29解こうとして解けないのは大問題だろ
0053デフォルトの名無しさん
2008/06/15(日) 01:00:10ドラクエで言うと
レベル1で「がいこつ」と戦うと「まったく勝てない」んです。
けど、ある程度レベルが上がると「何とか勝てる」んです。
もっとレベルが上がると「余裕で勝てる」んです。
「がいこつ」に余裕で勝てるようになると今度は
「まほうつかい」に「何とか勝てる」ようになったりするんです。
「がいこつ」に勝てないのに「まほうつかい」に挑んでもしょうがないんです。
がんばってくださいよ。ラダトームの勇者さん。
0054スライム
2008/06/15(日) 01:02:130055デフォルトの名無しさん
2008/06/15(日) 01:02:390056デフォルトの名無しさん
2008/06/15(日) 01:04:29中には特殊な道具が必要、イベント上絶対に倒せない(ことになっている)とか
プログラミングに於いては、必要なライブラリやAPIがなきゃ厳しい、無理なんて
ものもあるしぃ〜。いくらプログラマのレベルを上げても駄目なこともあるのさぁ〜
ベイビー
0057デフォルトの名無しさん
2008/06/15(日) 01:33:04スライムさんはレベル1で勝てちゃうから、ね。
けれど、あなたがいない世界では決して勇者は育たず、永遠に世界に平和が訪れません。
あなたがいたからこそりゅうおうを倒すことができた、それを忘れる事はないでしょう。
>>55
そうだっけ!?そいつぁ大きなミスだったorz
>>56
ようせいのふえがあればゴーレムをすぐ倒せるのに、使い方を知らなかったために
ゴーレムと死闘する羽目になった。つまり、APIの知識が乏しいばかりに
車輪の再開発をするプログラマのことを指しているんですよね?
0058デフォルトの名無しさん
2008/06/15(日) 01:40:19無駄とは言えなくとも、他に手段を選べる、必要なものを取り込む
知識や知恵も必要ということさ。そこで、攻撃重視の戦士や武道家
だけでなく、魔法が使えるキャラ、そして攻略本も。
何か参考になる資料や開発環境を整えておくことも重要さ。
0059デフォルトの名無しさん
2008/06/15(日) 01:43:24K&Rの演習がプログラミングの基礎を抑えてると思ったんです。
ですが、どうやらもう少し簡単なものからやった方が自分にはいいみたいです。
>>52
すみません。未熟者です。
>>53
なるほど。
とりあえずスライム探してきます。
はぐれメタルもいるんですよね、きっと。
>>56
まず、道具の使い方がわかるくらいまでは勉強してみようと思います。
0060デフォルトの名無しさん
2008/06/15(日) 11:24:18そのうち自分が作りたかったプログラムが自動生成されるんじゃね?
0061デフォルトの名無しさん
2008/06/15(日) 11:26:510062デフォルトの名無しさん
2008/06/15(日) 13:03:23天才!
あとは、そのプログラムが自分の望む動きをするかどうかを
自動判定するプログラムを作ればいいだけだな。
頑張れ。
0063デフォルトの名無しさん
2008/06/15(日) 13:33:310064デフォルトの名無しさん
2008/06/15(日) 13:34:37激しく既出。(1726年イギリスの鬼痴骸による)
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%AA%E3%83%B4%E3%82%A1%E3%83%BC%E6%97%85%E8%A1%8C%E8%A8%98
0065デフォルトの名無しさん
2008/06/15(日) 16:06:48万能検証プログラムがないとゴミプログラムに埋もれて死ねる
0066デフォルトの名無しさん
2008/06/15(日) 16:53:160067デフォルトの名無しさん
2008/06/15(日) 16:56:030068デフォルトの名無しさん
2008/06/15(日) 17:00:380069デフォルトの名無しさん
2008/06/15(日) 17:40:20if (![変数とか])
と書くべきか
if ([変数とか] == 0)
と書くべきかどちらですか?
あとヌルポインタを判定する場合も流儀があれば教えてください。
if (p == NULL)
か
if (!p)
かということ。
0070デフォルトの名無しさん
2008/06/15(日) 17:42:360071デフォルトの名無しさん
2008/06/15(日) 18:00:29個人的に
◎ if (![変数とか]) <− Ok
○ if ([変数とか] == 0) <− ちょっと冗長な気がする
◎ if (p == NULL) <− Ok
△ if (!p) <− NULLは0なのだろうか!?という問題がある。
0072デフォルトの名無しさん
2008/06/15(日) 18:01:56NULLは0ではないが、
0はNULLだから...
0073デフォルトの名無しさん
2008/06/15(日) 18:03:11お前ド素人だろ?w
Cでプログラム書くなよw
周りが迷惑だからなw
0074デフォルトの名無しさん
2008/06/15(日) 18:05:050075デフォルトの名無しさん
2008/06/15(日) 18:22:12char *p;
if(!p) { }
はOK. というか C++ では NULL よりは 0 の方が好まれているようです。
>>73
あ な た の 存 在 が 迷 惑 で す。
0076デフォルトの名無しさん
2008/06/15(日) 18:23:36007771
2008/06/15(日) 18:27:21NULLの値が0でなくても、
if(!p)
if(p != 0)
if(p != NULL)
は同じ結果になるようです。
サンクス
0078デフォルトの名無しさん
2008/06/15(日) 18:28:52ド素人をド素人のままのさばらせておくお前もあいつと同じく迷惑な存在。
http://www.kouno.jp/home/c_faq/c5.html#3
0079デフォルトの名無しさん
2008/06/15(日) 18:31:32trueが正常とは限らないだろう。例えば、
if (!(p = malloc(n))) {
perror("malloc");
return 1;
}
正常だった場合の処理;
もっとも、この書き方は、コーディング規約で禁止しているところもあると聞くが。
それはともかく、
if (!strcmp(a, b)) ...
は頂けないかな。
0080デフォルトの名無しさん
2008/06/15(日) 18:38:05ド素人のスレなので、そこんとこよろしく
0081デフォルトの名無しさん
2008/06/15(日) 18:39:12直感に反するわ。
0082デフォルトの名無しさん
2008/06/15(日) 18:40:06んーまあ比較演算子のない条件式を「変」だと思えるピュアな心があればいいんじゃないかな。
ただし、識別子と意味が食い違って紛らわしくなるような場合はいかん。いかんよ。
0083デフォルトの名無しさん
2008/06/15(日) 18:40:47>if(p != 0)
>if(p != NULL)
>は同じ結果になるようです。
流石ド素人。
なかなか諧謔のセンスがある。
このような頭の悪い人間はプログラミングの世界から手を引いた方がよい。
疑似科学の学者になったほうがよいのではないか?
0084デフォルトの名無しさん
2008/06/15(日) 18:42:09まあ逝ってきなさい
http://www.kouno.jp/home/c_faq/c5.html
0085デフォルトの名無しさん
2008/06/15(日) 18:47:03この画像がニュースで流れて以来、情報が無いのですが
ちゃんと避難できたでしょうか?
http://2chart.fc2web.com/2chart/obachannnigeteeeeeeeee.html
0086デフォルトの名無しさん
2008/06/15(日) 18:58:34うっかりミスだとわかるだろうに
天下を取ったようなその書き込み
もっと大きな気持ちで行こうよ
0087デフォルトの名無しさん
2008/06/15(日) 19:04:230088デフォルトの名無しさん
2008/06/15(日) 19:04:47俺なら窓から投げ捨てる。
0089デフォルトの名無しさん
2008/06/15(日) 19:07:340090デフォルトの名無しさん
2008/06/15(日) 19:08:34if (isdigit(c)) ...
とかだと比較演算子が現れないけど、これを無理矢理
if (isdigit(c) != 0) ...
とか書く訳?
0091デフォルトの名無しさん
2008/06/15(日) 19:11:41ごめんなさい、今日ちょっとイライラしているんです。
そもそも>>69を書いたのは私で論争を起こそうと考えたからなんです。
あー、ごめんなさいごめんなさい、CもしたことがないのにCのポインタがナントカとか言って
ごめんなさい。人間ド素人は私の方なんです。あぁ、こういうことを平然というから味の素並に
嫌われる元なんですね、ごめんなさいごめんなさい。
0092デフォルトの名無しさん
2008/06/15(日) 19:15:290093デフォルトの名無しさん
2008/06/15(日) 19:41:48真偽を返す関数は逆に比較すべきじゃない。
0094デフォルトの名無しさん
2008/06/15(日) 20:06:42それは特殊だなって見ればわかるじゃん
0095デフォルトの名無しさん
2008/06/15(日) 20:10:25ただ、自分のやり方として首尾一貫するのが大事
0096デフォルトの名無しさん
2008/06/15(日) 21:55:51てことは置いといてもっと気楽に行こうよ。
そう書いたらダメとか、それは間違ってる・・とかより >>74 や >> 95 に一票(もしかすると同一人?)
>>90 は頭を柔らかくね。何年かして、そのプログラム見たときに何か感じるものがあればいいんじゃない?
0097デフォルトの名無しさん
2008/06/15(日) 22:03:36まともなコンパイラなら同じコードを生成するよ。
0098デフォルトの名無しさん
2008/06/15(日) 22:45:510099デフォルトの名無しさん
2008/06/15(日) 22:55:030100デフォルトの名無しさん
2008/06/15(日) 22:55:37スレ違い
0101デフォルトの名無しさん
2008/06/15(日) 23:02:35すいませn
どこいけばいいですか?
■ このスレッドは過去ログ倉庫に格納されています