![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
VB.NETらしさを出してサンプルを作ってみました。
レコードを構造体で作っています。
クラスにしてもいいですけど、それほどのものでもないと思われたので、構造体にしました。
でも似たようなものなのでクラスで実装する場合にも参考になると思います。
sortすると昇順になりますので、
reverseしていますけど、
比較の条件を変えれば最初から降順にできます。(が、特別効率云々するのでなければデフォルトでやったほうがいいかもしれません)
ソートする前の状態を残すために最初にコピーを作ってコピーでソートしています。
必要なければ直接ソートすればいいです。
'---------------------------------------------
Public Structure CountryData
Implements IComparable
Public countryName As String '国名
Public population As Decimal '人口
Public GNI As Decimal '国民総所得
Public Function Rate() As Decimal '一人あたりの所得
Rate = GNI / population
End Function
Public Function CompareTo(ByVal data As Object) As Integer Implements System.IComparable.CompareTo
CompareTo = (Me.Rate()).CompareTo(data.Rate())
End Function
End Structure
Public Function CountryDataNew(ByVal name As String, ByVal p As Decimal, ByVal g As Decimal) As CountryData
Dim o As CountryData
o.countryName = name
o.population = p
o.GNI = g
CountryDataNew = o
End Function
'利用する側
Dim data As CountryData()
Dim sortedData As CountryData()
Dim x As CountryData
data = New CountryData() {CountryDataNew("日本", 1234, 456787), CountryDataNew("中国", 334445, 445355634), CountryDataNew("米国", 3322, 556666)}
sortedData = Array.CreateInstance(GetType(CountryData), data.Length)
data.CopyTo(sortedData, 0)
Array.Sort(sortedData) '昇順にソート
Array.Reverse(sortedData) '降順にする
No.1
- 回答日時:
何でつまづいているのかが判りません。
・フォームにどういう形式で表示するのがよいかが不明
・並べ替える方法が不明
・配列の使いかたが不明
・そもそもぜんぜん判らない
・その他
どれでしょうか?ご質問の内容だと、完成品のソースでも貼り付けないと回答にならないと思います。
この回答への補足
Yamane-D様
返答ありがとうございます。質問内容が不十分で申し訳ありません。
ご指摘をもとに整理しました。
◇分かること
・フォームの作成。
・データをソースにいれ込むこと。
以上の2点は出来ました。
◇不明な点
・データの計算及び、結果(一人あたりの所得)の大きい順に表示する方法。
◇フォームの形について
国名、総所得、人口、一人あたりの所得の順番にテキストボックスを貼り付けてあります。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
整数の選択
-
excel VBA リストビューの行...
-
ファイル名「1.jpg ~10.jpg~...
-
n番目に大きい数を求めるアル...
-
シェルソートとヒープソート
-
配列の中身を入れ替える方法を...
-
データを配列に代入し、計算を...
-
Excel VBAで並べ替えをしたい
-
列のどこをクリックしてもソー...
-
C# DataGridView のヘッダーセ...
-
リスト構造のソートで悩んでま...
-
【速いブラインドタッチ】手を...
-
VBAにてcolorindexを変数に格納...
-
日付チェック関数について
-
C言語 配列の長さの上限
-
関数から配列を返すには?
-
C言語のintとcharの違いってな...
-
擬似コード 長さがmの配列でな...
-
CImage GetBitsメソッドについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
C言語・要素除去
-
C# DataGridView のヘッダーセ...
-
Excelですべての組合せ(重複組...
-
VBA基本構文の作り方 2列の...
-
なぜ?counterintuitive
-
ファイル名「1.jpg ~10.jpg~...
-
リスト構造のソートで悩んでま...
-
配列の問題
-
C# DataTableの行をソートしてD...
-
あるディレクトリ内のファイル...
-
excel VBA の条件をつけての列...
-
10個の整数を入力して小さい順...
-
文字列をソートする方法
-
excel VBA リストビューの行...
-
DataGridViewの複数列を連動し...
-
2次元配列を複数項目でソートし...
-
csvファイル内にてソートす...
-
n番目に大きい数を求めるアル...
おすすめ情報