

大学で配列についてプログラミングをしているのですが、
3つの数字を大きい順に並びかえ、さらに番号も一緒に並び替えるという問題が
分からなく、困っています。
以下の例のように作成をしたいです。
3 一番
6 二番
9 三番
9 三番
6 二番
3 一番
分かる方教えてくださると助かります><
任意の数字を入れるところまでは以下のようにできていますが、そのあとに一番目などと表示されるところが大きい順になったときでも反映できるようにしたいです・・・
int[] Val = new int[3];
Console.WriteLine("3つの数値を入力せよ");
for (int i = 0; i < 3; i++)
Val[i] = Int32.Parse(Console.ReadLine());
Console.WriteLine("大きい順に表示");
for (int i = 0; i < 2; i++)
for (int j = i + 1; j < 3; j++)
{
if (Val[i] < Val[j])
{
int tmp = Val[i];
Val[i] = Val[j];
Val[j] = tmp;
}
}
for (int i = 0; i < 3; i++)
Console.Write(Val[i]+" ");
これをもとにつけたしていただきたいです、、
printfなどは使わずにとのことでした。
分かる方よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
C#なら、dictionary配列に値を突っ込んで、Keyでソートするという一文で済ませるんじゃないかな。
こんな感じで。http://coniglio.hateblo.jp/entry/2014/06/05/214330
「これをもとにつけたしていただきたいです」という事は、
敢えて用意された物に抗い、「昔の苦労を思い知れ!」みたいな課題があるんでしょうかね。
さて、こんな感じで改変しました。
少しでも変わったことをすればたちまちコケる、スペランカー先生並の激弱プログラムですよ。
あとは煮るなり焼くなり、好きにして下さい。
int[] Val = new int[3];
string[] moji = new string[3];
Console.WriteLine("[数値 + 半角スペース + 文字]の組を3回入力せよ");
for (int i = 0; i < 3; i++)
{
string[] work = new string[2];
work = Console.ReadLine().Split(' ');
Val[i] = Int32.Parse(work[0]);
moji[i] = work[1];
}
Console.WriteLine("大きい順に表示");
for (int i = 0; i < 2; i++)
for (int j = i + 1; j < 3; j++)
{
if (Val[i] < Val[j])
{
int tmp = Val[i];
Val[i] = Val[j];
Val[j] = tmp;
string tmpstr = moji[i];
moji[i] = moji[j];
moji[j] = tmpstr;
}
}
for (int i = 0; i < 3; i++)
Console.Write(Val[i] + " " + moji[i] + "\n");
No.3
- 回答日時:
ここまで出来ていれば、Valを構造体配列にして
ちょいちょいですよ。
このヒントで判らないようなら
ヤバイです。先ずは自分で書いてみましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
実数の整数部,小数部の取得
-
C言語 エラーの原因がわからな...
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
int16_t の _t は何?
-
「{ } で囲むだけ」は正しい?
-
非再帰のマージソートについて
-
毎回違う乱数を生成するにはど...
-
opencvで特定の座標を指定しそ...
-
ブロックで };ついているのと...
-
数字列を3桁ごとにカンマで区切...
-
エラー 添字が付けられた値が、...
-
課題でつまってます・・・
-
Cでボリュームコントロールを制...
-
system関数がうまくいかない
-
if と配列の組み合わせ
-
std::set<int> で、ある値が何...
-
シグマ公式・・・C言語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
ラップ関数とはどんなものですか?
-
【C++】関数ポインタの使い方
-
if と配列の組み合わせ
-
(int *)の意味
-
ColorをRGBで指定する方法
-
未解決の外部シンボル _printf...
-
構造体の勉強中です 合計点の高...
-
商と剰余を同時に求める(C言語)
-
C言語で分からないところがあり...
-
式は定数値が必要です」という...
-
C言語での奇数の和
-
std::set<int> で、ある値が何...
-
課題でつまってます・・・
-
int16_t の _t は何?
-
比較回数と交換回数表示について
おすすめ情報