スレ立てるまでもない質問はここで 166匹目 (122レス)
上下前次1-新
1(2): デフォルトの名無しさん [sage] 2024/12/13(金) 07:43:31.39 ID:KT2xQ37l(1) AAS
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ
スレ立てるまでもない質問はここで 165匹目
2chスレ:tech
スレ立てるまでもない質問はここで 164匹目
2chスレ:tech
2: デフォルトの名無しさん [] 2024/12/14(土) 20:34:46.31 ID:HScUesgt(1) AAS
ソフトにオプション設けるときって別の親ウィンドウ作ってる?
それともダイアログで作ってる?
3: デフォルトの名無しさん [sage] 2024/12/14(土) 22:09:59.13 ID:BhXqO952(1) AAS
前スレの1000自決してて草
4: デフォルトの名無しさん [sage] 2024/12/15(日) 02:26:40.17 ID:1H80RXIX(1/2) AAS
>>1
たて、乙
5: デフォルトの名無しさん [sage] 2024/12/15(日) 05:38:41.19 ID:31SS4aXd(1) AAS
>>1おつ
6: デフォルトの名無しさん [sage] 2024/12/15(日) 13:11:57.01 ID:HkEJ8lLX(1/2) AAS
#include だからって C でも C++ でもない
rc でコンパイルするんだから rc 用のヘッダしか描いてはいけない
7: デフォルトの名無しさん [sage] 2024/12/15(日) 14:04:41.18 ID:/Weuqd95(1) AAS
コメントとプリプロセッサ指示がC/C++と共通だから両方で使えるヘッダが書けるというだけだね。
文字コードにも注意しないとならないけど。
8: デフォルトの名無しさん [] 2024/12/15(日) 14:35:05.26 ID:HkEJ8lLX(2/2) AAS
これとか
>>>994
>回答してくれるのはありがたいんだけど、初心者の方に聞いたわけでは無いよごめんね
これとか
>アイコンと違ってヘッダファイルインクルードしたら動かないの初見殺しすぎませんかねえ
質問する立場でこういう煽りは良くないね
まあ自決で自演ネタだとばらしてるつもりかも知れんが
9: デフォルトの名無しさん [sage] 2024/12/15(日) 16:31:42.24 ID:1H80RXIX(2/2) AAS
アホみたいでも煽りじゃない回答なら他の人が回答するハードル下がって書き込みやすくなるからな
いちいち回答してくれた人叩いてると知識持ってる人も叩かれるんじゃないかって書き込まなくなってしまうから良くないんだよね
10: デフォルトの名無しさん [] 2024/12/16(月) 15:36:29.46 ID:BXqO+ueF(1) AAS
三菱UFJ銀行の貸金庫で10億円盗まれるって
セキュリティどうなってんねん
11(1): デフォルトの名無しさん [sage] 2024/12/16(月) 15:36:56.21 ID:5AL+G6v+(1) AAS
(重さ,価値)のリストを受け取る関数で以下のようなhaskellコードがあったのですが理解できません
何をやっているんでしょうか
sieve :: [(Int, Int)] -> [(Int, Int)]
sieve lis = map snd . filter (\((w1, v1), (w2, v2)) -> v1 < v2) $ adj
where
slis = sort lis
adj = zip (scanl (\(w, v) (w', v') -> (w', max v v')) (0, 0) slis) slis
例えばテストケースに以下のリストを渡すとadjの内容はコメントしたように(3,3)という存在しないデータが出てきます
一応上のフィルタで消えるのですが、常にこれは成り立つ?
[(1,1),(2,3),(3,2),(4,5)] -- [((0,0),(1,1)),((1,1),(2,3)),((2,3),(3,2)),((3,3),(4,5))]
最終的な結果は
[(1,1),(2,3),(4,5)]
12: デフォルトの名無しさん [sage] 2024/12/16(月) 15:57:30.03 ID:hNYo/LvU(1) AAS
BeginとEnd
StartとStop
newとdelete
みたいに文字数が違うのが気持ち悪いんだけどどうすればいい?
13: デフォルトの名無しさん [sage] 2024/12/16(月) 16:01:16.91 ID:b8e1dL4N(1) AAS
まずまともに動くもん作ってから悩め
14(1): デフォルトの名無しさん [sage] 2024/12/16(月) 16:48:59.69 ID:+/52kYnW(1/2) AAS
故障したPCのファイル抜き出しについて質問させて下さい
コマンドプロンプトのコマンド「xcopy 元フォルダ コピー先フォルダ /e /i /c」でエラーを無視して取れるファイルだけでもバックアップを取ってるのですが、破損ファイルのコピーになると「セマフォがタイムアウトしました」のエラーが発生するまで15分待機しないと次のファイルのコピーを実行しません
破損ファイルの度に15分待機すると膨大な時間がかかってしまうので、破損ファイルを無視してのコピーやセマフォのタイムアウト時間を設定するなどできないでしょうか
また他に良い方法があれば教えていただけると幸いです
15(1): デフォルトの名無しさん [sage] 2024/12/16(月) 18:39:42.24 ID:I9YsDANU(1) AAS
>>14
robocopyを使うのはどう?
破損ファイルで実証したことないけどrとwの指定でリトライ回数とタイムアウトが指定できる
16: デフォルトの名無しさん [sage] 2024/12/16(月) 21:08:30.73 ID:+/52kYnW(2/2) AAS
>>15
教えていただいたオプション自体はエラー後の動作だったのでタイムアウト時間を変更はできなかったのですが、そういったオプションがたくさんあるためかコマンドがエラーを返す時間が7分程度になりました
時間はかかりますがひとまずこれで実行しておこうと思います
教えていただきありがとうございました
17(1): デフォルトの名無しさん [sage] 2024/12/16(月) 22:52:48.84 ID:3gcJoJRs(1) AAS
俺が思いついたバカ解決策はファイルを全部リスト化してコピーコマンドを書いたバッチをSTARTコマンドで並列実行だった
(適宜Pingかなんかでウエイトは入れるとして)
18(1): デフォルトの名無しさん [sage] 2024/12/16(月) 23:23:08.71 ID:pEIdxfnL(1) AAS
>>11
重さ(w)があるのに価値(v)がないものを取り除いている
Rustで書くとこんな感じ
軽い順で入力が入ってくる状況で
scanで今まで来た価値(v)の最大値を求めていて
filterでその自分より前の最大値より価値(v)が大きいものだけを取り出している
fn sieve(sorted_input: impl IntoIterator<Item = (u32, u32)>) -> impl Iterator<Item = (u32, u32)> {
sorted_input
.into_iter()
.scan(0, |v_max, (w, v)| {
let pre_v_max = *v_max;
*v_max = v.max(pre_v_max);
Some((w, v, pre_v_max))
})
.filter_map(|(w, v, pre_v_max)| {
(v > pre_v_max)
.then_some((w, v))
})
}
19: デフォルトの名無しさん [sage] 2024/12/17(火) 08:13:31.08 ID:z1nDtp9F(1) AAS
>>17
そこまで知識がないので並列処理は思いつきませんでした
1日放置して進捗が悪かったら負荷と相談して試してみます
ありがとうございました
20: デフォルトの名無しさん [sage] 2024/12/17(火) 09:05:21.52 ID:ykqm5sso(1) AAS
>>18
ありがとうございます。自力で実装できるといいのですがなかなか難しいです
Rustわからなかったので入門しましたよ
まだ分からないことが多いですが同じ動作をしているようなのは確認しました
fn main(){
let vec1 = vec![(1,1),(2,3),(3,2),(4,5)];
let ans = sieve(vec1);
for i in ans {
println!("{:?}",i);
}
}
21(1): デフォルトの名無しさん [sage] 2024/12/20(金) 10:04:46.71 ID:6q6MnR15(1/2) AAS
for(unsigned i{}; i < 1U << N; ++i)
C++でこんなループをみたんだけど
unsigned i{}の部分はどういう文法なんですか?
多分0初期化ですよね?
22: 21 [sage] 2024/12/20(金) 10:08:27.48 ID:6q6MnR15(2/2) AAS
for(unsigned c{i + 1 | i}, j{c}; j < 1U << N; ++j |= c)
その直下にこんなのもありました。ますますわからない
どなたか解説たのむー
23: デフォルトの名無しさん [sage] 2024/12/20(金) 14:00:42.67 ID:Cl8OU6/M(1/3) AAS
ChatGPT
あなた:
for(unsigned i{}; i < 1U << N; ++i)
C++でこんなループをみたんだけど
unsigned i{}の部分はどういう文法なんですか?
ChatGPT:
unsigned i{} は、C++11以降で導入された**リスト初期化(brace initialization)**を使用した変数の初期化方法です。このコードを分解して説明すると次のようになります:
unsigned
これは変数の型を表します。この場合は unsigned int の省略形で、符号なし整数型を意味します。
i
これは変数の名前です。
{}
これは変数の初期化方法で、リスト初期化を意味します。
{} の場合、変数はゼロ初期化されます。この場合、unsigned i{} は unsigned i = 0; と同じ意味を持ちます。
24: デフォルトの名無しさん [sage] 2024/12/20(金) 14:01:46.66 ID:Cl8OU6/M(2/3) AAS
特徴と利点
明示的な初期化
リスト初期化では、値が指定されない場合に自動的にゼロ初期化されます。未初期化のリスクを防げます。
型変換の制限
リスト初期化は、暗黙の型変換が発生する場合にコンパイルエラーを発生させるため、安全性が向上します。
この場合の文法の意味
for (unsigned i{}; i < 1U << N; ++i)
上記のコードでは:
unsigned i{} によって、i はゼロに初期化されます。
1U << N はビットシフト演算で、1 を N ビット左にシフトした値を生成します。例えば、N=3 の場合、1U << N は 8 になります。
for ループは i を 0 からスタートさせ、i が 1U << N 未満である間ループを繰り返します。
25: デフォルトの名無しさん [sage] 2024/12/20(金) 14:02:53.15 ID:Cl8OU6/M(3/3) AAS
他の初期化方法との違い
C++03以前の方法
unsigned i = 0;
これもゼロ初期化を意味しますが、= を使うため、場合によっては意図しない型変換が発生する可能性があります。
C++11以降の方法
unsigned i{};
リスト初期化を使うと安全性が高く、コードが簡潔になります。
まとめ
unsigned i{} はリスト初期化を用いたゼロ初期化の方法で、特にC++11以降のコードでは安全性や可読性を向上させるために使われます。
上下前次1-新書関写板覧索設栞歴
あと 97 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.531s*