X



C言語なら俺に聞け 145
■ このスレッドは過去ログ倉庫に格納されています
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
0693デフォルトの名無しさん (アウアウエー Sa23-HAdz)
垢版 |
2018/03/31(土) 03:57:34.23ID:2Z4gCLvWa
switchのラベルって違うswitch(){}の中なら重複してても使えるやん?
それで goto HOGE; したらどっちに飛ぶ?
0694デフォルトの名無しさん (アウアウエー Sa23-HAdz)
垢版 |
2018/03/31(土) 03:58:50.47ID:2Z4gCLvWa
>>681
ならねーよΩ
0696デフォルトの名無しさん
垢版 |
2018/03/31(土) 07:17:07.25
if (a != b) {
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
0698デフォルトの名無しさん
垢版 |
2018/03/31(土) 08:13:17.33
>>697
なんで?
0707デフォルトの名無しさん (ワッチョイ 81b3-L1IY)
垢版 |
2018/03/31(土) 09:57:17.92ID:V7rzy3dc0
マクロで xor の入れ替えを書く
配列の操作で同じ要素の入れ替えも、都合上そのまま交換する方向で記述する
(配列を逆順に入れ替える時、要素数が奇数だと発生
0716デフォルトの名無しさん (ワッチョイ 1908-kUw7)
垢版 |
2018/03/31(土) 10:43:37.64ID:15qJIIAA0
>>705
templateにする必要ないのに無理しちゃって
void aho(int& a, int& b)
{
if(&a == &b) throw system_error{error_code{1xZcLHDp0_category(), 709}, R"(
 ハァ・・・   ハァ・・・   ハァ・・・
             : ∧     ∧ :
            : / ヽ    / ヽ :
        : /   >__/∴ ヽ :
        : /   ;;# ,∴∵; ヽ ∴\ :   
      : / -==、   '  、==-∴∵丶 :     き、きょうはこれくらいで勘弁してやるニダ…
    : / ""   _┃_ ""  * ∵∴\ :
     : \ #;∴  l/ニニ| ∵ / ∴∵/ :
       : ヽ∵//;;.;`ー‐' # ∴#∵ノ :
         >;;;: _   _ ;, _ ;_<
       : / # ;∴    ∴ #  \ :
)"};
}
0718デフォルトの名無しさん (アウウィフ FF45-HAdz)
垢版 |
2018/03/31(土) 11:07:01.32ID:c97ae/y4F
>>695
それ xor を使ってることによる欠陥じゃなくて
同じポインタを渡してることが欠陥だろ
0719デフォルトの名無しさん (ワッチョイ 219f-kUw7)
垢版 |
2018/03/31(土) 16:34:53.19ID:4s7VNOk80
>>695
18行目がこうなっているわけだが
myswap(&a, &a);
これでは参考にならんよな。
a, b を同じ値にしてから &a, &b で呼び出さないと。
まあでも myswap() 側で調べて同じなら何もしないように作っとけばいいだけではあるが。
0721デフォルトの名無しさん (アウウィフ FF45-HAdz)
垢版 |
2018/03/31(土) 17:38:31.63ID:c97ae/y4F
速度の問題あるから関数側でいちいち判定コード書くのは避けたいところ
0723デフォルトの名無しさん (ワッチョイ dbe7-0vFc)
垢版 |
2018/03/31(土) 18:24:11.53ID:wolthb3Z0
ちょっと聞きたいんだけど
char c = '5';
c -= '0';
int a = c*16;
こうゆうやり方ありなの?
0725デフォルトの名無しさん (アウウィフ FF45-HAdz)
垢版 |
2018/03/31(土) 18:27:10.52ID:c97ae/y4F
ありじゃね
unsigned char じゃいかんとか
unsigned char の方がいいとか
どうせ int になるんだしとか
ebcdic は?とか
0726デフォルトの名無しさん (ワッチョイ 5360-uaFS)
垢版 |
2018/03/31(土) 18:49:12.37ID:1xZcLHDp0
>>718
xor スワップは、xor: ^ が
a^(a^b) == b
b^(a^b) == a
で、つまるところ、a, b, a^b の三種類の値のうち一種類が欠けても、残りの二つから欠けた一つを再生できる(RAID5と同じ)ところに着目しているわけで、
xor や同様に exclusive-nor だからできること

ちゃんと二種類の値をずっとキープできておればスワップは成功するが、
そうでない場合は失敗する

上記のことを考えると@ xor/xnor であることと、A現れるオブジェクトが別であることを保証することの両方が必要だと思うよ

>>719
まあ値が等しいときは@オブジェクトが同じ可能性があるAそもそもスワップする必要がない
から値が同じかどうかのチェックをかませば OK ではあるね、それは同意するよ
0730デフォルトの名無しさん (ワッチョイ d180-3UCh)
垢版 |
2018/03/31(土) 20:48:52.36ID:D1vbg0pQ0
自己解決しました。
std::swapでいけました。
0731デフォルトの名無しさん (アウアウカー Sadd-rlcN)
垢版 |
2018/03/31(土) 22:01:45.45ID:qrmwmyS1a
C++だったのか
0732デフォルトの名無しさん
垢版 |
2018/03/31(土) 23:33:07.89
CもC++も似たようなもんじゃろ
平気平気
0733デフォルトの名無しさん (ワッチョイ a10d-kUw7)
垢版 |
2018/04/01(日) 07:51:13.57ID:lL1ejtJI0
>>727
安全じゃない
restrictはコンパイラに対してx != yを前提とする最適化を許可するだけで
constのように違反を摘発する機能はない
int *a, *b;
scanf("%p%p", &a, &b); //実行してみなきゃわからんものを
xorSwap(a, b); //翻訳時に摘発できるわけねえだろ
0739デフォルトの名無しさん (エムゾネ FFb3-HAdz)
垢版 |
2018/04/01(日) 10:28:45.90ID:GlQ4MmqmF
>>735
C使うなって話になるわな
0740デフォルトの名無しさん
垢版 |
2018/04/01(日) 10:52:33.52
>>737
つ assert
0741デフォルトの名無しさん (ワッチョイ 5923-xai/)
垢版 |
2018/04/01(日) 14:22:10.86ID:QnlJ7EAH0
指導者は、ある程度育った選手に対して解決策を提示しない。
選手が自ら考えるように導く。
考える力に重点を置く。
選手が考えた解決策に、(少しでも)可能性がある場合、次のように対応する。

1.状況を整理する

2.挑戦してもらう

指導者の解決策を、押しつける・誘導するのは愚の骨頂。
選手の思考力の成長を阻害する。
言葉の上だけ、コーチング技法を使用する指導者は不要。
意識・無意識にかかわらず、非言語で指導者自身の方向に誘導するようであれば、指導者は迷惑な存在。
選手は指導者の気持ちを敏感に読み取り、指導者の思う解決策に乗っていく。
指導者が無自覚に自分の気持ち・感情を表出しているのであれば、指導者は害毒でしかない。
(但し、指導者としての方向を持っていなければダメ。)
0742デフォルトの名無しさん (ワッチョイ 5923-xai/)
垢版 |
2018/04/01(日) 14:30:49.47ID:QnlJ7EAH0
*“オレは知っている。選手は判っていない。”と思い込んでいる。
→「私が中心」(選手は不在)
→選手の変化が見えない。

*“あれもこれも伝えたい”と思っている。
→指導者の自己の存在証明をしたいだけ。
→選手の依存過多を喜んでいる。
→指導者の中身の無さを補償している。
→自分の目標と選手の目標がズレていることに気がつかない。
→成長のゴール設定が不明確。あるいは勝つことだけに目標を設定している。
(勝負までに何をやりきったらよいのか/何を発揮したら勝利か/勝った後どうするか、指導者ならば明確にもっておきたい。)
→優先順序が整理できていない。
→現状の把握すらできなくなっている。

*“言わないと相手のためにならない。”と信じている。
→根本的に選手を信頼していない。
→“指導”という名の自己満足。

*“今、言わないといけない。”という焦り
→指導計画の無さが露呈しただけ。
→日頃の怠慢のツケ。
(直ちに言わないければいけないことはあるが、そう頻発しない。)

*“自分の経験なら、具体的に伝えることができる”という自分の過去へのこだわり
→指導者自身の学習がストップしている。
→偏狭さの表出
→選手より、常に自分が上。
→自分のコピー以外のモデルがない。
→指導者自身の目標が低い。(悪い意味で、すぐに満足する。)
→自分の小ささに築かない哀れさ

解決策を提示する悪癖からの脱却は、選手を信頼することがキー。選手を信頼できるかどうかは、選手の問題ではなく、指導者自身の課題。
0743デフォルトの名無しさん (ワッチョイ 5923-xai/)
垢版 |
2018/04/01(日) 14:31:46.69ID:QnlJ7EAH0
選手がある程度育っているにもかかわらず、解決策ばかりを提示してしまうとしたら……

指導者のサービス精神が、少々裏目に出ただけ。
やり方を、知らなかっただけ。
視線が、近い所に留まり過ぎただけ。

選手の考えと主体性に賭ければ良い。
「質問するだけ」「聞くだけ」で十分。他愛ない会話で済むかもしれない。

指導者としてのやり方を、ちょっと広げるだけ。

選手と一緒に成長すればよい。
0749デフォルトの名無しさん (アウアウエー Sa23-HAdz)
垢版 |
2018/04/02(月) 04:26:42.33ID:3ewhMOuha
>>747
ほんそれ

>>748
C++はごちゃごちゃしすぎ
Objective-Cの方が良い
0751デフォルトの名無しさん (アウアウカー Sadd-rlcN)
垢版 |
2018/04/02(月) 11:32:18.94ID:IY8Jb2oda
C#は何かとっても嫌な予感がするのでパス
0753デフォルトの名無しさん (ワッチョイ 89a2-HAdz)
垢版 |
2018/04/02(月) 14:47:00.17ID:r6uHUG7/0
C#はないわ
0760デフォルトの名無しさん (ワッチョイ 19bd-kUw7)
垢版 |
2018/04/02(月) 17:46:48.43ID:E1iWIfmB0
STLを初めて見た頃は違和感ありありだったけど
それはテンプレートを使うからでも、見た目が悪いからでもなく、中途半端だったから
C++11から以後、そのへんの補完工事が始まったのがありがたい
0762デフォルトの名無しさん (ワッチョイ 19bd-kUw7)
垢版 |
2018/04/02(月) 18:00:26.75ID:E1iWIfmB0
Smalltalk風の継承モデルねえ
正直、俺も昔は盲信したことがあって今は恥じている
テンプレートならコンパイラがやってくれることを
自前でdynamic_castなんかやだよ
nested_exceptionとかは仕方ないけどね
0763デフォルトの名無しさん (アウアウカー Sadd-rlcN)
垢版 |
2018/04/02(月) 19:47:22.47ID:yiGPtloFa
>>761
Javaなんかは内部でそうやって実現してるな。
0765デフォルトの名無しさん
垢版 |
2018/04/02(月) 22:15:26.67
>>761
そこはVariant型やろ
0766デフォルトの名無しさん (ワッチョイ b91b-yiKA)
垢版 |
2018/04/02(月) 22:26:42.69ID:pVqQLih90
printfの出力をマルチスレッドで行うことはできないのでしょうか

素人的には
スレッド1 printf("abcde");
スレッド2 printf("12345");

出力 a1b23c4de5

となることを考えたのですが、WinAPIのCreateThreadやC++のThreadでも、CPU使用率はシングルスレッドのときと変わらず、出力もこのようにはなりませんでした

Windows VS2017
0768デフォルトの名無しさん (ワッチョイ c161-2OKV)
垢版 |
2018/04/02(月) 23:11:46.09ID:ifLgvYYR0
はじめまして。
大学でプログラミング関係の授業を受けるのですが、それの復習、応用などをrpgツクールmvですることは可能でしょうか?

ちょこっと調べた感じプログラミング要素もあるらしいのですが、c言語はあんまり使わないとかなんとかという記事も見られました。

どうせなら楽しく勉強したいので、ゲームを作りながら学習できないもんですかね...。
0769デフォルトの名無しさん (スップ Sdb3-7eys)
垢版 |
2018/04/02(月) 23:22:32.32ID:k8TtPNR/d
>>768
プログラミングを授業で受けるなら、ゲーム制作はツクールMVよりUnityのがいいと思うけど授業内容は進むに連れてむしろツクールMVやUnityのようなのの中身についてになるから復習がてらにはしにくい
モチベ維持にはとても良いと思います
0774デフォルトの名無しさん (アウアウカー Sadd-rlcN)
垢版 |
2018/04/03(火) 09:03:18.53ID:Lqpq4yV4a
ない
0778デフォルトの名無しさん (アウアウエー Sa23-HAdz)
垢版 |
2018/04/04(水) 02:32:43.57ID:h2UR4/YMa
でっていう
0783デフォルトの名無しさん
垢版 |
2018/04/04(水) 22:06:43.40
同期の絆
0785デフォルトの名無しさん (ワッチョイ 25b3-e08n)
垢版 |
2018/04/05(木) 08:17:37.54ID:zuAyx/JN0
数値計算手法の一つである陰解法って陽解法とどう違うんだろう?まったく理解が進まん
陰解法での次ステップの状態を計算するには陽解法と違って次ステップでの値が含まれてる関係で行列の方程式?を解かなければならないらしいけど、その方程式で導く値がどう答えに結びついていくのかがわからない
(最終的にはC言語のプログラムに落とし込みたい。陽解法のプログラムはもう作ってあるんで多少なりとも流用できると楽なんだけどそう簡単にはいかんよね?)
0786デフォルトの名無しさん (ワッチョイ 4a12-U1J9)
垢版 |
2018/04/05(木) 12:42:25.18ID:O2KVno4c0
平たく言うと
100秒後の状態を得るのに途中の一つずつを100個全部求めなきゃいけないのが陽解法
10秒ごとの計算を10回、でいいのが陰解法

陰解法はかんたんに未来を得られる分、行列計算が面倒になる
0787デフォルトの名無しさん (ワッチョイ 6d61-7DGm)
垢版 |
2018/04/05(木) 23:51:02.65ID:Un4TbCjZ0
これなんですけど、printfのとこの"%2c"で、
" %2c"
" %2c "
など空白を入れることで配列が変わってくるのですが、前に空白と後ろに空白のときの規則性がわかりません。教えて欲しいです。

https://i.imgur.com/QI86not.jpg
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況