X



【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

前スレ
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1478440682/
0049 ◆QZaw55cn4c
垢版 |
2017/07/22(土) 18:41:59.88ID:Yr9CVNZl
>>48
それは集合が有限個の場合
集合が無限個の場合はどうなる?公理じゃないとうまくいかないんじゃない?
0050片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 18:48:30.61ID:WTRjQogU
無限集合の場合は集合の内包的定義により、離散的な論理学に還元され、やはり成り立つ。
0051デフォルトの名無しさん
垢版 |
2017/07/22(土) 18:50:49.49ID:Yr9CVNZl
>>50
稠密な実数の世界のもとでも、それはいえるの?
われわれの解析学の世界では、まず実数からスタートするんです
0052片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 18:57:46.94ID:WTRjQogU
A={ x | x ∈A }.
B={ x | x ∈B }.
A∩B={ x | x ∈A ∧ x∈B }.
このように、集合の元の存在は論理学に還元される。
0053片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 19:05:08.09ID:WTRjQogU
論理学の真理値表→論理学のド・モルガンの定理→集合論のド・モルガンの定理
0054 ◆QZaw55cn4c
垢版 |
2017/07/22(土) 19:09:10.20ID:Yr9CVNZl
>>52
ん、それって A, B, C ‥と数えられる世界の中では、いずれ到達できると思う。
でも、力学とか解析学とかをやるときは、ぎっしりつまった実数を相手に論理を組むよね
実数を相手に考える世界では、かぞえられる、とかいう性質を前提にしてはいけないんだと思うよ

まあ立場の問題かもしれない、計算機は数えられる世界で考えればいいことなのかもしれない

いま読んでる教科書の最初の方での∀∃∩∪を読むたびに思うのです
よく「証明は読者の演習としよう」で苦しむのです、これ、やめて欲しいんですけどね
∩∪の羅列である命題にドモルガンを振り返るときれいに解決するのですが
そんなことでいいのだろうか、と常々思っているのでした
0055片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 19:16:19.03ID:WTRjQogU
何も数えていないぞ。
x∈Aというのはxの性質を表しただけだ。
集合論の内包的定義を否定するのか?
0056 ◆QZaw55cn4c
垢版 |
2017/07/22(土) 19:19:02.26ID:Yr9CVNZl
>>55
分割して分割して最後に行き止まりがあるから、その推論はなりたつと思うんです
でも分割して分割して分割して‥終わりがない場合には、その推論は成り立つのでしょうか?
成り立つものとして仮定しているだけなんじゃないでしょうか?
0057片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 19:32:50.77ID:WTRjQogU
集合論で、無限演算(極限)が必要になることは少ない。無限集合においても扱う性質が有限であることが多いからだ。
0058片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 19:38:35.09ID:WTRjQogU
無限集合では、1つ1つ数えるのではなく、性質(述語)に着目する。集合は述語の組み合わせで表せる。
取り扱う集合を表す述語が有限の表現で表せないなら、人間はそれを考えることすらできないだろう。
0059片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 19:47:57.23ID:WTRjQogU
そんなに気になるなら、疑問をなくすために本格的に数学者になって『集合の極限に関する研究』という本を出版してはいかがか。
0062片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 20:27:14.25ID:WTRjQogU
A={ x | x ∈A }. B={ x | x ∈B }.
A∩B={ x | x ∈A ∧ x∈B }.
A∪B={ x | x ∈A ∨ x∈B }.
~A={ x | ¬(x∈A) }.
~(A∩B)={ x | ¬(x ∈A ∧ x∈B) }.
~A∪~B={ x | ¬(x ∈A) ∨ ¬(x∈B) }.
ここで、¬(x ∈A ∧ x∈B)={ x | ¬(x ∈A) ∨ ¬(x∈B)を証明すれば、
~(A∩B)=~A∪~B と言える。
0063片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 20:34:24.27ID:WTRjQogU
ここでα=(x∈A)、β=(x∈B)とおけば、命題α、βによる命題論理学のド・モルガンの定理に還元される。
α、βについて真理値表を作れば、容易に命題論理学のド・モルガンの定理が証明できる。□
0064片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 20:38:22.42ID:WTRjQogU
>>62
訂正。
(誤) ここで、¬(x ∈A ∧ x∈B)={ x | ¬(x ∈A) ∨ ¬(x∈B)を証明すれば、
(正) ここで、¬(x ∈A ∧ x∈B)=¬(x ∈A) ∨ ¬(x∈B)を証明すれば、
0065 ◆QZaw55cn4c
垢版 |
2017/07/22(土) 20:47:11.33ID:/Wnz58+R
>>59
いや,手持ちの本が読めれば十分なので(今はその部分は結論ありきで読み飛ばしている)追求しようという意図はない
ていうか,たぶん,そうやって読まないといけない(そうじゃないと進めない)

でも,ド・モルガンは定理じゃなくて公理じゃないのかなって「感じる」んですよ
これは私だけの気のせい?多分気のせいなんだろうな‥ごめんね
0066片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 20:47:54.26ID:WTRjQogU
集合の極限というと、
S=f(X_0)∪f(X_1)∪...∪f(X_n)∪...
みたいな感じか?
自明ではないが、つまらないな。
0067デフォルトの名無しさん
垢版 |
2017/07/22(土) 21:04:17.39ID:Xt0MBnGT
>>58は健常者の様な発言なのに、
スレをツイッターと勘違いしているかのようなクソレス連投が残念だ
0068片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 21:09:55.19ID:WTRjQogU
君の公理系では公理かも知れない。ただZFCで証明されるものであるから、定理と言った方がいい。
0069 ◆QZaw55cn4c
垢版 |
2017/07/22(土) 21:15:06.91ID:/Wnz58+R
>>66
https://www.amazon.co.jp/dp/4320014731
最初の方だが,すでに∞前提
演習
(1)(∪_{n=1}^∞ An)∩A = ∪_{n=1}^∞(An ∩A)
(2)(∩_{n=1}^∞ An)∪A = ∩_{n=1}^∞(An ∪A)
どちらか一方だけ証明できたら,残りはドモルガン採用ですっとばしているが,ドモルガンが∞にも使えるか迷いがある
0071片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 21:25:41.26ID:WTRjQogU
集合であることの定義にまでさかのぼって、well-definedであることを確認すればいい。
0073片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/22(土) 21:36:21.21ID:WTRjQogU
整数の無限大は整数ではない。
整数の全体集合は無限の濃度だが、集合としてwell-definedである。
このように、極限については個別に存在を確認する必要がある。
0074 ◆QZaw55cn4c
垢版 |
2017/07/22(土) 21:41:01.35ID:/Wnz58+R
うん,確かにこの場合は自然数の無限だから可算個だね,ちょっと今までの私の話とは事情が違う,なかなかいい例が思い浮かばないね‥
0083デフォルトの名無しさん
垢版 |
2017/07/24(月) 18:34:08.77ID:3yF9COr6
>>48
違う。通常公理系から証明する。

>>50
違う。可算加法性は自明な性質ではない。

>>57
解析学は非可算無限、整数論は可算無限を扱う
無限集合を扱うのは一般的
むしろ有限集合を扱うほうが特殊

>>58
ソボレフ空間とかガン無視かよ



めんどくさいからこのくらいで
ほぼすべてのレスに間違いが含まれてる
0089はちみつ餃子 ◆8X2XSCHEME
垢版 |
2017/07/24(月) 22:07:17.47ID:Gxl+AYGO
>>47-50
やりたければ公理にした系を考えてもええんやで。
でもまあこのスレの話題として必要なのは手書きで真理値表を書けるレベルの狭い世界の論理だろう、JK
0090デフォルトの名無しさん
垢版 |
2017/07/24(月) 22:49:36.92ID:9ObWd1Q9
論理回路とかでまともな無限元のブール代数教えるとこなら、
交換、結合、単位元、補元の公理から証明する手順教える。
0092デフォルトの名無しさん
垢版 |
2017/07/25(火) 10:10:52.25ID:OkhRIGg6
operator[](int n) をその定義されてるクラス自身で呼び出すにはどうしたらいいんですか?
0094デフォルトの名無しさん
垢版 |
2017/07/25(火) 10:49:24.51ID:OkhRIGg6
サンクスです
0101デフォルトの名無しさん
垢版 |
2017/07/26(水) 03:01:12.72ID:73NCM6AX
int main() {
vector<int> v;
v.reserve(10000);
v.push_back(0);
cout << v.capacity() << endl;
vector<int> (v).swap(v);
cout << v.capacity() << endl;
}
(v).swap(v); の文頭のvに付いてる()は何の意味があるんでしょうか?
0103デフォルトの名無しさん
垢版 |
2017/07/26(水) 04:24:25.95ID:cw7jpAOD
>>101
vector<int> (v)
までで一時オブジェクトをコピーコンストラクトしてるんじゃ?

で、.swap(v) で中身を入れ替えて、コンパクションするっていうサンプルに見える。
未確認で書いてるので、間違えてたらごめん。
0105デフォルトの名無しさん
垢版 |
2017/07/26(水) 15:54:35.58ID:73NCM6AX
>>103
何とか理解できました。ありがとうございます。
0106片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/07/26(水) 20:46:35.22ID:bC5SPfn2
vector<int> (v).swap(v);

>と( の間が離れてるのが、分かりにくい読みづらい、意地悪な点だな。
0108デフォルトの名無しさん
垢版 |
2017/07/26(水) 22:56:52.57ID:vCDZhGQY
int OTL=3;
0115デフォルトの名無しさん
垢版 |
2017/07/27(木) 19:10:45.43ID:/VCkXAgy
mapでシュリンクが必要なケースあるの?
0117デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:33:18.49ID:wZCn8yX+
無いと思ったから、あるの?って聞いたんだけど。
0118デフォルトの名無しさん
垢版 |
2017/07/27(木) 22:33:51.77ID:wZCn8yX+
そもそもreserveできないし。
0120デフォルトの名無しさん
垢版 |
2017/07/27(木) 23:34:10.64ID:5IXklzdW
今流行りのこれか
これからわざとこういうやり取りして荒らすやつ増えるんだろうな

http://www.honmotakeshi.com/archives/51758414.html

委員「あなたがやっていることの根拠を示してください」
前川「俺のやることに疑問を持つなら疑問を持つ根拠を示せ」
委員「政策を実現するにはそれに基づく根拠が欲しいと言ってるんです」
前川「それだけの疑問を呈するなら疑問の根拠を示せ」
0121デフォルトの名無しさん
垢版 |
2017/07/27(木) 23:43:42.41ID:KBJFSsyK
>>119
最初からそう言えばいいのに。
そもそもシュリンクが必要になるのかがわからないって事でOK?
0122デフォルトの名無しさん
垢版 |
2017/07/28(金) 08:07:33.12ID:VRFX85+t
>>121
最初から一貫した発言しかしてないけど
「最初からそう言えばいいのに」ってアフォなの?
0123デフォルトの名無しさん
垢版 |
2017/07/28(金) 08:22:36.87ID:aSs6rxS/
コミュニケーション出来てない
明らかに触ってはダメな人でしょ
0126デフォルトの名無しさん
垢版 |
2017/07/28(金) 12:39:07.07ID:WvgdGCet
煽り専用の人工無能でしょ
0127デフォルトの名無しさん
垢版 |
2017/07/28(金) 14:08:59.02ID:IiZPJKRx
バイナリファイルについて質問します
変数xyzがあったときxyzをまとめてバイナリファイルにすることはできないんでしょうか?
例えば
#include<stdio.h>
FILE *fp;
int main(void) {
fp=fopen("test2.dat", "wb");
int x = 10;
double y = 15.55;
char z[] = { "abcde" };
fwrite(&x, sizeof(x),1, fp);
fclose(fp);
return 0;
}
これでxのバイナリファイルはできると思いますがyzにもそれぞれ専用のファイルポインタを用意して
それぞれ個別に書き出すことしかできないんでしょうか?
0128デフォルトの名無しさん
垢版 |
2017/07/28(金) 14:46:45.90ID:wtp1eGJk
fclose()する前に同じfpに続けてfwrite()すれば、同じファイルに書き出されますよ
0129デフォルトの名無しさん
垢版 |
2017/07/28(金) 15:02:04.83ID:IiZPJKRx
ありがとうございます。
いっぺんに書くんじゃなくて行を増やして書けばよかったんですね(´エ`)
0131デフォルトの名無しさん
垢版 |
2017/07/29(土) 01:30:09.73ID:wXH6c2tF
mapで、あるvalueを持つpairだけを別のmapに移す時はどうやればよいでしょうか?

例えば
unordered_map<int, int> map1{
  {0, -10},
  {10, -1},
  {2, 5},
}
があってvalueが負のもの({0, -1.}と{10, -1})をmap1から削除して
map2へ移す、みたいな場合です。
0132デフォルトの名無しさん
垢版 |
2017/07/29(土) 02:13:30.18ID:NWxouBfw
C++14まではmapの要素を直接付け替えることはできないのでそのまま
1 ループやalgorithmで該当する要素を見つける
2 その要素のキーと値でmap2に新しい要素を追加
3 古い要素をmap1から削除
4 該当する要素がなくなるまで1-3を繰り返す
0133はちみつ餃子 ◆8X2XSCHEME
垢版 |
2017/07/29(土) 08:10:20.47ID:HavpCAcr
>>131
std::remove_copy_if を使うのが一番簡単な方法だと思う。

std::remove_copy_if(std::begin(map1), std::begin(map2), std::inserter(map2, std::end(map2)), [](decltype(map2)::value_type x) { return x.second < 0; });

みたいな感じ。
0138デフォルトの名無しさん
垢版 |
2017/07/29(土) 08:30:04.61ID:MwwfsD4U
あとエラるもんなら
とんでもない量の
コンパイルエラー吐くんだよな
もうアホかと
0139デフォルトの名無しさん
垢版 |
2017/07/29(土) 08:32:03.69ID:wXH6c2tF
>>132
ありがとうございます。
http://ideone.com/l4I4Kt
こういう感じでループ回しているときに削除するとうまく行かないので聞いてみました。
イテレータでもうまくいかなくて。

>>133
algorithm使うんですね。こういう書き方知らなかったです。
0140デフォルトの名無しさん
垢版 |
2017/07/29(土) 09:29:15.29ID:USfv5Coy
>>135
for文のほうがなにやってるかわからんわ
標準なら何やってるかわからなくてもググれば挙動がわかる
どっちにしても、わかりにくいものは構造化して名前をつけるべきだけどね
0143デフォルトの名無しさん
垢版 |
2017/07/29(土) 10:19:10.90ID:zJVnUUbX
>>140
分かりにくいか?
for(auto pair: map1){
if(pair.second < 0){
map2.insert(std::pair<int,int>(pair.first, pair.second);
}
}
for(auto pair: map2){
map1.erase(pair.first);
}
■ このスレッドは過去ログ倉庫に格納されています

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