- ベストアンサー
VC#で配列の値の重複チェックについて
いつもお世話になっております。時間もなく焦っています。 ファイルの内容を全て読み込ませて、配列に値を格納しているのですが、その際行単位ではなく、配列全体でもし同じ値が既にあった場合に重複させないように格納するには、どうすればよいでしょうか? 行単位なら、参考ページなども少しはありましたが、配列となると、。 わかりにくいかもしれませんが、宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- JSで配列同士の重複チェック
いつもお世話になっております表題の通りJSで配列同士(連想配列の値)で重複した値があったらまとめて再度配列に格納したいのですが、プログラムの書き方が思いつきません、、 教えて頂けないでしょうか?? 例、イメージ) 配列A = 配列B[key1=>1,key2=>2],配列C[key1=>1,key2=>2],配列D[key1=>2,Key2=>4]; この場合処理をして返ってくる期待値は 配列A[配列B[key1=>1,key2=>2],配列D[key1=>2,key2=>4]] ※配列Cは配列Bと中身が同じなため削除された という形で帰ってきてほしいです。 少し時間が無くて完成されたサンプルコードなど教えて頂けると幸いです どうぞよろしくお願いします!
- ベストアンサー
- JavaScript
- vector配列の重複を無くすには?
画像処理で各ピクセルごとのRGB値をそれぞれ取得し、 重複を除いた形で全て表示したいと考えています。 (仮に4ピクセルしかないとして、RGB(255,255,0), RGB(255,255,255),RGB(255,255,255),RGB(255,0,255) といった値が取れたときにRGB(255,255,0), RGB(255,255,255),RGB(255,0,255)のみを表示するといった感じです。) 画像ごとにピクセル数が異なり分からないので、 各ピクセルのRGB値を格納するのに動的配列vector<int*> pixelを 用い、そこにred,green,blueそれぞれの値を格納した 配列RGB[3]を格納しようと思い以下のように書いたのですが、 vector配列に配列を格納したときに重複を削除する方法が 分からず困っています。 for(int x = 0; x->width; x++) { for(int y = 0; y->height; y++) { /*getRGBはそのピクセルのRGB値を取得する仮想関数*/ RGB[0] = (int)getRGB(x,y,RED); RGB[1] = (int)getRGB(x,y,GREEN); RGB[2] = (int)getRGB(x,y,BLUE); } } pixel.push_back(RGB); と格納しても、そこからpixel配列に格納された物の中から RGBが全て一致するものを消去する方法が分かりません。 格納していたものが配列でなければ、pixelをsortして、 unique関数で重複を無くせるのでしょうが… どなたか良い方法をご教授願えませんでしょうか?
- ベストアンサー
- C・C++・C#
- 配列の値をまとめる?
いつもお世話になっております。 Javaプログラミングについて質問させてください。 プログラム中で配列を用意しています。 (String[] param = new String[7]) この配列には値が入っています。 (param[0]="000",param[1]="000",param[2]="000",param[3]="111",param[4]="111",param[5]="333",param[6]="333") 配列に入っている値は全部で7つですが、種類としては3つです。 ("000","111","333") 配列に入っている値を元に、上記の種類(3つ)を格納するようなメソッドはありますか? ご存知の方がいらっしゃいましたら、ご教授ください。 宜しくお願い致します。
- ベストアンサー
- Java
- 配列にある重複要素を削除したい(VBA)
エクセルVBAにて、あるルールで対象となるセルの値を配列に格納しております。 配列の要素には重複しているものもあるため、重複要素を配列から削除したいのですが その方法が分かりません。 どなたか、よろしくご教授下さい。
- ベストアンサー
- その他(ビジネス・キャリア)
- 配列の重複削除について
配列の重複削除について教えて下さい。 普通の重複チェックとは違い、3つの配列 それぞれに値があり、添え字が0から同じ ように始まり、3つの配列が全て同じものは、 例えば、 配列A[2]='30' 配列B[2]='000' 配列C[2]='1' 配列A[4]='30' 配列B[4]='000' 配列C[4]='1' は、1つの添え字にまとめたい。 その3つが一致したもの重複をまとめたいのと、 新しく出た3つの値は残したいのです。 つまり、以下のように抽出したいのです。 何か良い方法があれば教えて下さい。 perlで作成しています。 注)配列Cは空白もあります。 配列A( 10, 20, 30, 10, 30, 20) 配列B(000,010,000,010,000,000) 配列C( , 0, 1, 0, 1, 1) ↓ 配列D( 10, 20, 30, 10, 20) 配列E(000,010,000,010,000) 配列F( , 0, 1, 0, 1)
- ベストアンサー
- Perl
- C#で配列の値をチェックするメソッドを書きたい
C#の配列についてお教え頂けませんでしょうか? CSVファイルから1行読取り、配列に格納しています。 string[] rowdata; string x; int y; double z; TextFieldParser Parser = new TextFieldParser(FILEPATH, Encoding.GetEncoding("shift_jis")); while (!Parser.EndOfData) { //1行読取り rowdata = csvParser.ReadFields(); //読み取った値を変数に x = rowdata[0]; //string y = rowdata[1]; //int z = rowdata[2]; //double } rowdata[0~3]を変数に格納する前に、データのチェックをおこないたいです。 例えば、rowdata[1]はint型変数に格納されます。しかしrowdata[1]に格納された値が「A1」とあった場合、int型変数yには格納できずエラーが起こります。 よって、rowdata[1]に数値以外の文字列があったら「0」に置き換えるなどの処理をいれたいです。 なので、配列を受け取ってデータチェックをするメソッドを作りたいと思いますが、どのように作っていいかがわかりません。 1つのメソッドでint、double、stringかどうかの、チェックを行いたいですが、そのようなことは可能なのでしょうか? 下記のように3つメソッドを作って、データをメソッドに渡しチェックを行なうのがいいのでしょうか? string CheckData(string[] arr){}; int CheckData(int[] arr){}; double CheckData(double[] arr){}; やりたい事は、 メソッド(配列を受取る) rowdata[0]が渡された場合、中身はstringかのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。 rowdata[1]が渡された場合、中身はintかのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。 rowdata[2]が渡された場合、中身はdoubleかのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。 以上のような事です。宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- 配列の内容に重複をなくすには・・・
いつもお世話になっています。 今回VB6でプログラムを作成していて壁にぶち当たってしまいました。 分かる方がいましたらご教授下さい。 タイトル通りなんですが配列の内容の重複をなくした新しい配列を作成したいと考えています。 例 配列A: 1, 1, 2, 6, 5, 2, 3, 3 を 配列B: 1, 2, 6, 5, 3 と配列Aの先頭から順に配列Bに入れていきたいのです。 また、配列を動的配列で宣言していますが、配列Bの終わりが不定なので、最後に終端コード?を入れる 必要があるのか??と思っているのですが”EOF”なのでしょうか? for i=0 to EOF 配列B[i] next i とすればすべて取り出せるのでしょうか? 補足が必要でしたら言ってください。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- C# 配列の配列(多次元配列?)
C#において、配列の配列中に格納した値を、検索することを 行いたいのですが、格納した値そのものを見ることができません。 まだ、C#を始めて間もないので、配列に格納する時点で、 不備があるかも知れませんが、お願いします。 やりたいこと ・テキストファイル内にある値を、2次元配列または、多次元配列に格納 ・配列に格納した値で、データチェックなどを行う予定 テキストファイル内のデータは、下記内容となり要素数も固定ではなく変動する A=1,2,3・・・ B=11,22,33・・・ 実際のソースは、 //配列 ArrayList list = new ArrayList(); //配列格納 1レコード毎用 ArrayList listtmp = new ArrayList(); while ((strGenderTextLine = objReader.ReadLine()) != null) { string strBuffer; //「=」前の値格納用変数 string[] strBuffer2; //「=」後の値格納用配列 listtmp=null; //strtmpに「=」前の値を格納 strtmp = TextLine.Split('=').GetValue(0).ToString(); //strtmp2に「=」後の値を格納(配列) strtmp2 = TextLine.Split('=').GetValue(1).ToString().Split(','); for (int i = 0; i <= strtmp2.Length - 1; i ++) { //[i,0]に、「=」前の値を代入 if (i == 0) { listtmp.Add(strtmp); } else { listtmp.Add(strtmp2[i].ToString()); } } //list配列にlistTmp配列を格納(配列の配列) list.Add(listtmp); intT = intT + strtmp2.Length; //行数カウント intTLine = intTLine + 1; } ここから、配列「list」内に入っている値を閲覧することができる方法を教えていただければと思います。 宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- excel2007 重複する値の抽出について
いつもお世話になっております。 またお知恵を拝借しようと思い、質問しております。 重複するデータから 3つ重複する値のみを抽出したいときの抽出方法を教えてください。 例) A B 1 重複 1 重複 2 重複 2 重複 2 重複 3 4 重複 4 重複 4 重複 5 IF(COUNTIF($A$1:$A$10,A1)>1,"重複","") で重複するものは確認できました。 ここから3つ重複している値のみを抽出したいときの抽出方法がわからなくて困っています。 簡単な方法はありますか? 2つ重複している値と1つだけの値を削除すればいいのですが、大量にデータがあります。 重複のみを抽出した後、2つ重複した値だけを削除できる方法か、3つ重複した値のみ抽出する方法はありますか? 重複するのは3つまでで、なんせ3つ重複している値のみにしたいというわけです。 excel2007使用。「重複を削除」をすると全ての重複が削除されてしまうので、困っています。 どうかお力をお貸しください。
- ベストアンサー
- Excel(エクセル)
- 連想配列からの値の取り出し
お世話様です。 タイトルにもありますが連想配列を作成した後(以下に記述例)に その配列からキーを指定して値を取得したいと思っております。 array_keys関数だと値を指定してキーを取得するみたいで うまくいきませんでした。 何かよい方法ありませんでしょうか? //配列に格納 while (条件) { $aParaOra += array((キー) => (値)); }
- ベストアンサー
- PHP
- クリーニングでません。46 の表示が出ていますが、異物も紙詰まりもなし、電源落としても消えません。どうしたらいいでしょうか?
- 製品名: MFC-48CN
- お使いの環境: Windows10/8.1/7, 有線LAN, 関連するソフト・アプリ: なし, 電話回線の種類: 不明
お礼
ありがとうございます。 まだC#に触れて間が無いため、Linqというものは知りませんでした。 ちなみにArrayListで格納しています。