数字を読み取り、出てきた回数を表示させるためには?

解決


maru  2003-06-11 17:40:32  No: 107470  IP: [192.*.*.*]

「サンプル.txt」に保存されている数字を読み取り、出てきた回数を
リストボックスに表示させたいのですがわかりません。

例  「サンプル.txt」の中身
(一行目)10  11  12
(二行目)09  12  15
(三行目)10  12  16

例では、12が3回、10が2回、その他は1回なのでリストボックスには
12・・・3回
10・・・2回
09・・・1回
11・・・1回
15・・・1回
16・・・1回
と表示させるプログラムをぜひともよろしくお願いします。

編集 削除
名前なし  2003-06-11 17:59:27  No: 107471  IP: [192.*.*.*]

なにが分からないのですか?
もっと細かく分割して質問して下さい。
・ファイルの読み込み方
・数字の出現回数の数え方
・リストボックスへの表示の仕方
などなど

これでは、『こういうプログラムを作って下さい』と
言っているようなものです。

編集 削除
maru  2003-06-11 21:02:28  No: 107472  IP: [192.*.*.*]

質問の仕方がよくなかったみたいですいません。
ファイルの読み込み方はわかります。その後の数字の出現回数の数え方
の書き方がわからないんです。
まだVB始めたばかりだったのでほんとに申し訳ないです。
よろしくお願いします

編集 削除
maru  2003-06-11 21:03:22  No: 107473  IP: [192.*.*.*]

質問の仕方がよくなかったみたいですいません。
ファイルの読み込み方はわかります。その後の数字の出現回数の数え方
の書き方がわからないんです。
まだVB始めたばかりだったのでほんとに申し訳ないです。
よろしくお願いします

編集 削除
maru  2003-06-11 21:04:12  No: 107474  IP: [192.*.*.*]

二重カキコすいませんでした

編集 削除
oku  URL  2003-06-11 21:37:42  No: 107475  IP: [192.*.*.*]

配列にカウントを入れていくなんてどうですか?

まず配列変数を用意して
    Dim intCount()      As Integer
ファイルを読む
読み込んだ数字の配列をカウントアップする

    ReDim Preserve intCount(読み込んだ数字)
    intCount(読み込んだ数字) = intCount(読み込んだ数字) + 1
この場合、無駄な領域が出来ますが、シンプルかと。

無駄な領域を二次元配列にして、
読み込んだ数字にヒットするまでぶん回し、
ヒットしなければ、配列にセット。
この場合、データ量によっては遅くなりますけど。

編集 削除
oku  URL  2003-06-11 21:40:21  No: 107476  IP: [192.*.*.*]

すいません  2個目文章が抜けました。
> 無駄な領域を二次元配列にして、
無駄な領域を作りたくない場合、二次元配列にして、

編集 削除
Say  2003-06-12 01:00:11  No: 107477  IP: [192.*.*.*]

必ず2桁とわかってるなら、
ReadAllか何かで一気読みして、数えたい数文字列を空文字列でReplaceして、
変換前の文字列との文字数の差を半分にするのが手っ取り早いかと。

編集 削除
maru  2003-06-12 21:07:38  No: 107478  IP: [192.*.*.*]

返事遅れてすいませんでした。
okuさんのやり方で試してみたところ、無事成功しました。
okuさん、sayさんありがとうございました。

編集 削除