![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
使用ソフト VB.NET
配列に入っている値の大きい順にソートする
値は重複することもある。その場合は配列の値が若いほうを優先
具体的には ロト6にて、出現した番号が多い順番にソートしたい。
date_last_st() には出現回数
date_sort() には出現回数が多い番号が順番にいれる
例
date_last_st(1)=2
date_last_st(2)=5
date_last_st(3)=2
の場合
date_sort(1)は2
date_sort(2)は1
date_sort(3)は3
となるようにしたい
一応自分で考えたのですがもっと簡素にできたりはしないのでしょうか?
----------------
Do
For i = 1 To 43
If date_last_st(i) > date_max Then
date_max_no = i
date_max = date_last_st(i)
End If
Next
date_last_st(date_max_no) = 0
date_sort(c) = date_max_no
date_max = 0
c = c + 1
'1番~43番まですべて0か 判断
For i = 1 To 43
If date_last_st(i) = 0 Then
date_TF = True
Else
date_TF = False
Exit For
End If
Next
'1番~43番まですべて0なら無限ループを抜ける
If date_TF = True Then
Exit Do
End If
Loop
---------
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Array.Sort メソッドを使ってはどうでしょうか?
Array.Sort で実装されているのは、クイックソートで、これは、安定ではない(元の順序を保存しない)ですが、単なる数値のデータの場合、同じ値の時に元の順序を保存することは意味がないように思います。
No.1
- 回答日時:
抽出済みのものをゼロにしてしまうと、最初からゼロであったもの
との区別ができませんから、よくありません。ここでは-1を使って
みます。
また、外側のループは必ず43回まわると全部抽出できることが
わかっているので固定で書きます。
For c=1 To 43
date_max = -1
For i=1 to 43
If date_last_st(i) > date_max Then
date_max = date_last_st(i)
date_max_no = i
End If
Next
date_last_st(date_max_no) = -1
date_sort(c) = date_max_no
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列のソート
-
【SQLサーバ】float型における...
-
SQLで曜日のソートを月火水木金...
-
テーブルの最後(最新)のレコー...
-
並べ替えについて
-
数字と漢字が混じった日付デー...
-
Mysqlで変数を使ったSELECT文の...
-
2回実行のSQL文を1回にしたい
-
アクセスで曜日の並び順を変えたい
-
ACCESS レコードの並び順について
-
ある項目(数値)に加算したも...
-
これって削除しても良いのでし...
-
値が入っていない日付型の項目...
-
一意なID
-
WORDの「並べ替え」について
-
マクロで行挿入後挿入部分を含...
-
レコードの登録順がおかしい
-
SQLで条件にヒットしたレコード...
-
group byの並び順を変えるだけ...
-
重複しないデータのみを抽出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgresのカレンダーについて
-
PHP+MySQLで月ごとの数量を表...
-
【PL/SQL】DATE型の時刻の表示...
-
配列の重複を削除後、削除分の...
-
掲載日と更新日の管理の仕方
-
MySQLのUPDATE文でサブクエリ
-
続・指定した時間にPHPプログラ...
-
DB登録に関する日付の認識
-
EXCELマクロのSQL文での引用符...
-
日替わりメッセージを表示させ...
-
PHPでMySQL内のデータの合計値...
-
構造体のプログラミング......
-
JavaScriptの条件文の応用
-
JOINを使った文で、date > now();
-
preg_replace, ereg_replace
-
UNIXの時間はどう変更すれ...
-
MySQL + PHP 同じテーブル内で...
-
複数のカテゴリを選択した上でL...
-
Strict Standards: date() ...
-
質問:年月日の表示方法について
おすすめ情報