C言語なら俺に聞け 145

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 9381-qput)2018/02/19(月) 22:13:58.98ID:9/te2eSJ0
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/


C言語なら俺に聞け 144
https://mevius.5ch.net/test/read.cgi/tech/1514025223/

次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

0952デフォルトの名無しさん (ワッチョイ 0bb3-9jjH)2018/04/22(日) 19:36:32.85ID:YjWQK7FP0
[[['[] ]]] { {] ]][ '[][][] [][] [][][]  [] '[] []

0953デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)2018/04/22(日) 20:06:54.82ID:H/AU6k7y0
>>951
自分の回りにないならあるものを前提にするのはあたりまえ
そもそも連続してないことにメリットがあるとは思えないし

0954デフォルトの名無しさん (ワッチョイ 578a-/Wij)2018/04/22(日) 20:06:57.91ID:TH0cxcHD0
>>951
BCD計算が出来なくなるからCOBOLが動かなくなるわな
CPUの時点で排除しているのは6502系ぐらいじゃね?

0955デフォルトの名無しさん (ワッチョイ 1ad2-JOUt)2018/04/22(日) 20:20:55.56ID:d95yXvpO0
再帰関数を使って次の問題の会を出すプログラム書いたんですけど、なんかミスばっかでダメなので、だれかどういうプログラム書けばいいのか教えてもらえませんか?

九つの椅子が
○○○
○○○
○○○
のように並んでおり、はじめに数字の書いた札を持った何人かが座っているとする


○○5
○9○
12○

さらに他にも何人か数字の書いた札を持った人がいて、その人たちが空いてる席に順番に座って行くとする
全員座った後、それぞれの点数を数えるとする、ただし点数は前後左右の人が持ってる札の数字を足し算する


○○5
○9○
12○
で 3さん→4さん→7さん とすわり
○75
493
12○
となった、9の点数は7+4+3+2

この時、それぞれが自分の点数を常に最大になるように座ったら最終的にはどういう配置になるでしょう?ただし
・それぞれは座る順番を知っている
・その次に座る人達がどこに座るかまで考慮に入れて考える
・自分以外の点数は気にしない
・誰もいないところは0
・次の人が何箇所か座る候補があり絞れない時は常に予想図の最小値をとって考えるとする、つまり極端にリスクを恐れる

0956デフォルトの名無しさん (ワッチョイ 1ad2-JOUt)2018/04/22(日) 20:22:39.58ID:d95yXvpO0
質問てここでいいですか?

0957デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)2018/04/22(日) 20:32:24.58ID:H/AU6k7y0
>>954
この2行にアホが詰まってる
会話の内容も実際の動作も用語もわかってないっていう

0958デフォルトの名無しさん (ワッチョイ b351-GfG9)2018/04/22(日) 20:58:30.62ID:kdP+cJ/x0
>>955
面白そうなテーマだから、お題スレに投げてみるのがいいのではないかと誘導

プログラミングのお題スレ Part10
http://mevius.2ch.net/test/read.cgi/tech/1514772904/

0959デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 21:11:08.54ID:1MVwzpIAd
>>942
いやだから、
>>934の真ん中がいらないっていう話

0960デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 21:17:34.90ID:1MVwzpIAd
>>940
どこからつっこんでいいのやら

0961デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 21:18:50.30ID:1MVwzpIAd
>>957
どこかで見たセリフ

0962デフォルトの名無しさん (ワッチョイ 4e81-9jjH)2018/04/22(日) 21:19:12.17ID:T8nVVEKh0
形式
#include <ctype.h>

int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);

機能説明

上記にリストされている関数はすべて ctype.h 内で宣言されており、指定されている整数値をテストします。
c で適切な整数値は、unsigned char または EOF として表現可能なものです。

デフォルトで、これらの関数は ctype.h がインクルード されている場合はマクロとして定義されます。
パフォーマンスを良くするために、関数形式よりマクロ形式を使うのが適切です。

0963デフォルトの名無しさん (アウアウウー Sa47-9jjH)2018/04/22(日) 21:26:12.24ID:20oer2uOa
>>962
そういえばそれって locale 考慮すると言っときながら unsigned char でしか
判定してくれないというなんとも言えない仕様だよな。マルチバイトの判定が
できない。まあそんな拡張したら面倒な感じはするのでそのままでもいいが。

0964デフォルトの名無しさん (ワッチョイ b704-9jjH)2018/04/22(日) 21:28:15.82ID:cFbiqY2T0
ですます調ということは、JISソースではないな

0965デフォルトの名無しさん2018/04/22(日) 21:29:41.48
>>963
つ iswdigit

0966デフォルトの名無しさん (ワッチョイ b704-9jjH)2018/04/22(日) 21:31:58.01ID:cFbiqY2T0
C99以後はinlineがあるんだがID:1MVwzpIAdはC89前提?それともK&Rかね

0967デフォルトの名無しさん (スププ Sdba-JOUt)2018/04/22(日) 21:33:04.20ID:1srXW/Rwd
>>958
ありがとうございます、そっち行きます

0968デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 21:33:34.88ID:1MVwzpIAd
前提など不要

0969デフォルトの名無しさん (ワッチョイ b704-9jjH)2018/04/22(日) 21:34:00.82ID:cFbiqY2T0
>>953
数字が連続していないことにメリットがあるとは思えない
という思考回路では
英字が連続していないことにメリットがあるとは思えるのか?
具体的にどんな?

0970デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 21:34:42.49ID:1MVwzpIAd
どんな環境かわからないんだからどんな環境でも動くコードが良い

0971デフォルトの名無しさん (ワッチョイ b704-9jjH)2018/04/22(日) 21:36:00.62ID:cFbiqY2T0
レスが長文化してるやつは効いてる効いてるwだが
逆もまた真なり
情報量が非常に乏しいレスしかしなくなったやつw

0972デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 21:42:55.38ID:1MVwzpIAd
ねえねえ
なにが「勿体ない」の?

0973デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)2018/04/22(日) 22:18:10.29ID:H/AU6k7y0
>>969
> 英字が連続していないことにメリットがあるとは思えるのか?
おそらくEBCDICのことを言ってるんだろうけどあれはパンチカードフォーマットから変換しやすくするような体系になってるだけの話

0974デフォルトの名無しさん (ワッチョイ 578a-/Wij)2018/04/22(日) 22:19:34.67ID:TH0cxcHD0
>>961
何ら有益な情報を書けない。只の荒らしでしょ。

0975デフォルトの名無しさん (アウアウカー Sa43-jD/J)2018/04/22(日) 22:35:44.05ID:OBDOSUSoa
今更で悪いけど、文字はまず集合として扱うのが筋だからさ。
大小比較したいなら、一度数値に直せばいいじゃんと思うよ。これについては規格上の正しさという話ではなくて、抽象的な意味にこだわらないと保守性下がるというのが実感としてあるから言うとるのよ。

0976 ◆QZaw55cn4c (ワッチョイ ba60-Mp6C)2018/04/22(日) 22:36:07.06ID:bjDlbJPk0
「こういう仕様になっているのはこういう理由だからだ」という設問
あるいは「もしこういう仕様だったらこういう問題があっただろう」という反実仮想的設問には意味があると思っているから、そういう話で盛り上がる今はありがたいと思っています

0977デフォルトの名無しさん (ワッチョイ 4e81-9jjH)2018/04/22(日) 22:40:48.03ID:T8nVVEKh0

0978デフォルトの名無しさん (スプッッ Sd5a-Incm)2018/04/22(日) 22:43:35.78ID:bBx4tH0Hd
>>974
元はおれの文
1行でアホが詰まってると、本気で感心した時に書いた

0979デフォルトの名無しさん (ワッチョイ 578a-/Wij)2018/04/22(日) 23:07:06.08ID:TH0cxcHD0
>>978
最近のBOTは優秀になったのね。CNTKか何かか?

0980デフォルトの名無しさん (ワッチョイ 9ab3-cuLp)2018/04/22(日) 23:08:02.95ID:H/AU6k7y0
>>974
関係ないことを堂々と書く奴に言われてもな w

0981デフォルトの名無しさん (ワッチョイ b39f-9jjH)2018/04/22(日) 23:55:50.76ID:J/MYnpG10
数字なのに1足されてないというと、Unicodeでの漢数字かな。

0982デフォルトの名無しさん (ワッチョイ 5923-cUH7)2018/04/27(金) 11:38:54.60ID:OGjTaEqd0
うむ

0983デフォルトの名無しさん (ワッチョイ 71b3-luqG)2018/04/28(土) 21:59:14.79ID:4vnB69wL0
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]

0984デフォルトの名無しさん (ワッチョイ 5961-ZnuE)2018/04/29(日) 17:07:26.07ID:X9PCZykj0
O(n)のin-placeなセレクティングネットワーク
O(n)のin-placeなマージアルゴリズム
O(n)のin-placeなマージングネットワーク
O(n log n)の(実用的な)ソーティングネットワーク
は存在しますか?
ここらへんがあると並列ソートがかなり捗るんだけど。

0985デフォルトの名無しさん (ワッチョイ 71b3-luqG)2018/04/29(日) 20:34:40.36ID:My7UiDyw0
[[[ []]]]*[[ [][] ][] } } {} [[[

0986デフォルトの名無しさん (ブーイモ MMb3-ZnuE)2018/04/29(日) 20:42:41.53ID:0iHuAZG8M
こんにちは

c言語で質問です
写真の通りのプログラミングを書きたいのですができません
*などで四角形は作れるのでそれを応用するのだと思うのですが、2段目以降を違うのにするやり方がわかりません

どなたかお願いします。
https://i.imgur.com/09EKR0n.jpg

0987片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdb3-L0fA)2018/04/29(日) 20:45:11.87ID:PLWQQmF3d
>>986
数学で数列は習ったかい? 一般式で表してそれを二重のforループにするだけだ。

0988デフォルトの名無しさん (アウアウカー Sadd-rKkQ)2018/04/29(日) 21:16:42.92ID:gpEFuXsMa
二重ループよりも二個関数作った方が将来のためになるかもな

0989片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdb3-L0fA)2018/04/29(日) 22:14:07.36ID:PLWQQmF3d
数列を極めるには、差分法が役に立つが、今ではかなりマイナーな数学分野になっている。

0990片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdb3-L0fA)2018/04/29(日) 22:20:26.21ID:PLWQQmF3d
差分法は、微分法の兄弟みたいなもので、差分法の極限をとると微分法になる。

0991 ◆QZaw55cn4c (ワッチョイ 5360-c97c)2018/04/29(日) 22:21:28.34ID:20g7tnTI0
>>989
漸化式がマイナーだって?

0992片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdb3-L0fA)2018/04/29(日) 22:27:28.61ID:PLWQQmF3d
差分法は、研究分野としてはマイナー。差分方程式は地球上ではもうだれも研究していないのではないか。

0993デフォルトの名無しさん (ワッチョイ 938a-2Ypg)2018/04/30(月) 01:05:41.13ID:Knbm+hrA0

0994デフォルトの名無しさん2018/04/30(月) 01:30:28.58
別に小難しい数学の知識とかいらなくね?

a = 6, b = 4だとして、

ary = malloc(sizeof(int) * a * b);
for (i = 0; i < a; i++) {
 for (j = 0; j < b; j++) {
  v1 = (i == 0 || j == 0) ? 0 : ary[i - 1][j - 1];
  v2 = (i == 0) ? 0 : ary[i - 1][j];
  v3 = (j == 0) ? 0 : ary[i][j - 1];
  ary[i][j] = v1 + v2 + v3;
 }
}

0995デフォルトの名無しさん (ワッチョイ b3a1-zZEu)2018/04/30(月) 01:58:30.12ID:njDF1dun0
いやいや、教科書的にはこうでしょ
for (i = 1; i <= b; i++) {
 for (j = 1; j <= a; j++) {
  v = j;
  for (k = 1; k < i; k++) {
   v = v * j;
  }
  printf("%d, ", v);
 }
 puts("");
}

0996デフォルトの名無しさん2018/04/30(月) 02:09:48.77
>>994はなんか勘違いしてたw
b<=2までしか合わんかったわw

0997デフォルトの名無しさん (ワッチョイ 219f-luqG)2018/04/30(月) 02:31:14.12ID:XX4FB8lc0
>>986
2番目の値だけ抜き出すと 2, 4, 8, 16 となっているので、一つ前の値を2倍にしている。
3番目の値だけ抜き出すと 3, 9, 27, 81 なのでひとつ前の値を3倍にしている。
4, 5, 6 番目も同様。

ということは、a の入力の個数だけ要素を入れられる配列を作っておいて、その各要素に
1 〜 a の値を一つづつ入れておいて、その後 b の回数だけループしながら出力して
掛け算してを繰り返せばいい。プログラムにするとこうなる。

https://paiza.io/projects/EIvP4vpEHRgWnXFlka5Vjg

0998デフォルトの名無しさん (ワッチョイ 219f-luqG)2018/04/30(月) 02:48:27.09ID:XX4FB8lc0
配列でひとつ前の値を保持したくない場合はpow()使って計算するという方法もある。
https://paiza.io/projects/_L8doEZwIG6g0imlZM_Fug
pow()使いたくない場合はループして掛け算を自分でやる。

0999デフォルトの名無しさん (ワッチョイ 13d4-rKkQ)2018/04/30(月) 02:58:01.24ID:Xjg4h3Qz0
別に小難しい数学の知識はいらんけど>>994が頭悪いのを晒したのはイタかったな
普通なら恥ずかし過ぎてもうこのスレ覗くこと出来ないレベル

1000デフォルトの名無しさん (ワッチョイ 938a-N95W)2018/04/30(月) 03:04:53.67ID:Knbm+hrA0
別に小難しい数学の知識はいらんし質問の趣旨からも逸れるが>>992が頭悪いのを晒したかった

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 69日 4時間 50分 55秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。