現在、配列を作成して逆順または降順で表示しようとしています。現在、番号のリストが表示されていますが、正しい降順に従わない場合があります。問題は、2つのforループの間にあるifステートメントにあると思います。毎回、1から101までの乱数を配列の最初の数値と比較しています。そのようにする代わりに、配列内の数値を互いに比較するにはどうすればよいですか?または、逆順配列ジェネレーターを証明するための提案はありますか?
コード
namespace reverseArray
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
long operations = 0;
int size;
int max;
int[] createArray;
int[] sortArray;
int[] copyArray;
public void ReverseOrder()
{
size = Convert.ToInt32(textBoxSize.Text);
max = Convert.ToInt32(textBoxMax.Text);
createArray = new int[size];
copyArray = new int[size];
sortArray = new int[size];
createArray[size - 1] = 1;
for (int i = size - 1; i > 0; i--)
{
createArray[i - 1] = createArray[i] + r.Next(1, max);
}
for (int i = size - 1; i > 0; i--)
{
if (r.Next(1, 101) < createArray[0])
{
for (int x = size - 1; x > 0; x--)
{
createArray[x] = r.Next(1, createArray[0]);
}
}
}
}
private void buttonCreateArray_Click(object sender, EventArgs e)
{
ReverseOrder();
}
}
}