プログラミングのお題スレ Part22 (863レス)
上下前次1-新
抽出解除 レス栞
218(2): デフォルトの名無しさん [] 2024/02/04(日)18:32 ID:fS5H2fbQ(1/2)
>>206
>>215をPowerShellに移植
$in =
"a1=a2", "b1=b2", "b3=b2", "c1=c2", "e1=e2", "a3=a4", "c3=c4", "e1=e3",
"a2=a4", "c3=c1", "b3=a4", "c2=d1", "a4=a5", "d2=c1", "b4=b3", "d3=c3"
$in -split "=" |% {$h = @{}; $n = 0} {if (!$h[$_]) {$h[$_] = $n++}}
$eq = $in |% {, $h[$_ -split "="]}
$g = 1..$n
do {
$changed = $false
$eq |% {
$i, $j = $_
switch ($g[$i] - $g[$j]) {
{$_ -gt 0} {$g[$i] = $g[$j]; $changed = $true}
{$_ -lt 0} {$g[$j] = $g[$i]; $changed = $true}
}
}
} while ($changed)
$h.keys | sort {$h[$_]} | group {$g[$h[$_]]} |% {"[$($_.group -join ", ")]"}
-- 実行結果 --
[a1, a2, b1, b2, b3, a3, a4, a5, b4]
[c1, c2, c3, c4, d1, d2, d3]
[e1, e2, e3]
219(1): デフォルトの名無しさん [] 2024/02/04(日)19:02 ID:fS5H2fbQ(2/2)
>>218の5行目の if (!$h[$_]) を if ($h[$_] -eq $null) に訂正
224(2): デフォルトの名無しさん [] 2024/02/05(月)23:26 ID:YjqgZClx(1)
>>206
>>218-219をC#化
https://ideone.com/qWA5TB
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.056s