No.4ベストアンサー
- 回答日時:
重複のチェックはこんな感じでいいでしょう。
@a = ('a', 'b', 'a', 'd');
for (@a) {
if (defined $hash{$_}) {
print $_, "が重複してます。\n";
next;
}
$hash{$_} = 1;
}
No.3
- 回答日時:
>この場合配列で、重複する値を抽出するアルゴリズムが知りたいです。
混乱するかも知れんが、重複チェックには
ハッシュ使うのが楽。
@a = ('a','b','a','d');
for($i=0;$i<=$#a;$i++){
if($hash{$a[$i]}){
print "$a[$i]は重複してます";
}else{
$hash{$a[$i]} = 1;
}
}
あと、値がいくつか確認したければ
foreachとか使って
実際に見てみればよいかと。
No.2
- 回答日時:
重複チェックは、こちらの方が良いのでは?
@a = ('a','b','a','d');
for ( $i = 0; $i < 4; $i++ ) {
for ( $j = $i + 1; $j < 4; $j++ ) {
if ( $a[$i] eq $a[$j] ) {
print "重複あり";
}
}
}
No.1
- 回答日時:
%a に代入する以前に、for かなにかでチェックするしかありません。
上記の例題の場合、Perl の内部では下記のようなプログラムが動作します。
$a{a} = 1;
$a{b} = 2;
$a{a} = 3;
$a{d} = 4;
つまり、3行目が実行された段階で、$a{a} の中の値 1 は焼失してしまいます。
@a の場合は、4つの値が全て保存されます。
重複チェックは代入する以前に、
@a = ('a','b','a','d');
for ( $i = 0; $i < 4; $i++ ) {
for ( $j = 0; $j < 4; $j++ ) {
if ( $a[$i] eq $a[j] ) {
print "重複あり";
}
}
}
とでもすればいいでしょう。
(このロジックだと項目が増えたとき大変ですが(^_^;)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- Visual Basic(VBA) vbaマクロについて 【1.csv】をもとに【商品.csv】に有るものを【有り.csv】として名前を 1 2023/05/18 07:58
- その他(コンピューター・テクノロジー) exFATの外付けSSDからパソコンのNTFSの内蔵ストレージにコピーした場合はコピーしたデータのハ 2 2023/08/09 19:51
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Visual Basic(VBA) ExcelVBAで配列2つを結合させて重複アドレスを削除したいです 3 2023/04/25 15:31
- その他(コンピューター・テクノロジー) なぜデータの整合性を確認する時はハッシュ値で確認するのでしょうか?ハッシュ値は衝突する可能性があるの 5 2023/07/05 20:38
- Visual Basic(VBA) Vba 配列の中の特定文字列の位置の調べ方 9 2022/05/23 17:46
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュの考え方、使用例を分...
-
文字数の短いユニークなID生成
-
文字列を変数名として扱う方法
-
無名配列や無名ハッシュの値を...
-
多次元配列から重複を削除
-
短いハッシュの作り方
-
まったく同じファイルのハッシ...
-
オフィス2013のプロダクトキー...
-
ハッシュリストって単にハッシ...
-
VBAでの一時停止と再開の方法
-
画面を強制的に再描画させる方法
-
DoEventsが必要な理由について
-
VBのReturnの使い方
-
UWSCの終了の仕方
-
クラスに配列を渡す方法
-
範囲指定したセルを1つずつ飛...
-
プログラミングについて。 1つ...
-
VBA Dir関数でファイルをループ...
-
VBA Boxが空白の場合のメッセー...
-
vb.netからエクセル関数書き込み
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
文字列を変数名として扱う方法
-
まったく同じファイルのハッシ...
-
チェックデジットについて
-
列挙型と連想配列の違いを教え...
-
英語でのシャープとコメの呼び...
-
ハッシュ値が一致したデータは...
-
重複ファイルを削除したいので...
-
ハッシュの考え方、使用例を分...
-
ハッシュのハッシュを実現したい。
-
ハッシュリストって単にハッシ...
-
短いハッシュの作り方
-
データベースでユーザーのパス...
-
*(アスタリスク)の意味
-
多次元配列から重複を削除
-
ハッシュ値によるファイルの同...
-
perlで配列名を動的に作り出したい
-
Perlでハッシュや配列で重複す...
-
ハッシュマーク以降のアドレス取得
-
連想配列のサイズ制限
おすすめ情報