?? form1.cs
字號:
?using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 隨機一致性指標RI計算
{
public partial class Form1 : Form
{
Random rand = new Random();
int temp;
double k = 0,temp1 = 0,temp2 = 0;
double RandomNum;
double[,] A = new double[31, 31];
double[,] B = new double[31, 31];
double[] temprow1 = new double[31];
double[] temprow2 = new double[31];
double[] ri = new double[31];
int i, j, n, m;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
for (n = 2; n <= 30; n++)
{
k = 0;
for ( m = 1; m <= 1000; m++)
{
for ( i = 1; i <= n; i++)
{
for (j = i; j <= n; j++)
{
RandomNumber();
A[i, j] = RandomNum;
}
}
for (int m1 = 1; m1 <= n; m1++)
{
for (int n1 = 1; n1 <= m1 - 1; n1++)
{
A[m1,n1] = 1 / A[n1,m1];
}
}
for (int a = 1; a<= n; a++)
{
A[a,a] = 1;
}
for (int b1 = 1; b1 <= n; b1++)
{
for (int b2 = 1; b2 <= n; b2++)
{
B[b1,b2] = A[b1,b2];
}
}
for (int c = 1; c <= n; c++)
{
temp1 = 0;
for (int c1 = 1; c1 <= n; c1++)
{
temp1 += A[c1,c];
}
for (int c2 = 1; c2 <= n; c2++)
{
B[c2,c] = B[c2,c] / temp1;
}
}
for (int d = 1; d <= n; d++)
{
temprow1[d] = 0;
}
for (int e1 = 1; e1 <= n; e1++)
{
for (int e2 = 1; e2 <= n; e2++)
{
temprow1[e2] += B[e2,e1];
}
}
temp1 = 0;
for (int f1 = 1; f1 <= n; f1++)
{
temp1 += temprow1[f1];
}
for (int f2 = 1; f2 <= n; f2++)
{
temprow1[f2] = temprow1[f2] / temp1;
}
temp2 = 0;
for (int g = 1; g <= n; g++)
{
temprow2[g] = 0;
}
for (int g1 = 1; g1 <= n; g1++)
{
for (int g2 = 1; g2 <= n; g2++)
{
temprow2[g1] += A[g1,g2] * temprow1[g2];
}
}
for (int h = 1; h <= n;h++)
{
temp2 += temprow2[h];
}
k += temp2;
}
k = k / 1000;
ri[n] = (k - n) / (n - 1);
}
ShowRI();
}
private void RandomNumber()
{
temp = rand.Next(18);//
switch (temp)
{
case 0:
RandomNum= 1;
break;
case 1:
RandomNum = 2;
break;
case 2:
RandomNum = 3;
break;
case 3:
RandomNum = 4;
break;
case 4:
RandomNum = 5;
break;
case 5:
RandomNum = 6;
break;
case 6:
RandomNum = 7;
break;
case 7:
RandomNum = 8;
break;
case 8:
RandomNum = 9;
break;
case 9:
RandomNum = 1;
break;
case 10:
RandomNum = 0.5;
break;
case 11:
RandomNum = 1.00 / 3.00;
break;
case 12:
RandomNum = 0.25;
break;
case 13:
RandomNum = 0.2;
break;
case 14:
RandomNum = 1.00 / 6.00;
break;
case 15:
RandomNum = 1.00 / 7.00;
break;
case 16:
RandomNum = 0.125;
break;
case 17:
RandomNum = 1.00 / 9.00;
break;
default:
RandomNum = 0;
break;
}
}
private void ShowRI()
{
textBox1.Text = ri[2].ToString();
textBox2.Text = ri[3].ToString();
textBox3.Text = ri[4].ToString();
textBox4.Text = ri[5].ToString();
textBox5.Text = ri[6].ToString();
textBox6.Text = ri[7].ToString();
textBox7.Text = ri[8].ToString();
textBox8.Text = ri[9].ToString();
textBox9.Text = ri[10].ToString();
textBox10.Text = ri[11].ToString();
textBox11.Text = ri[12].ToString();
textBox12.Text = ri[13].ToString();
textBox13.Text = ri[14].ToString();
textBox14.Text = ri[15].ToString();
textBox15.Text = ri[16].ToString();
textBox16.Text = ri[17].ToString();
textBox17.Text = ri[18].ToString();
textBox18.Text = ri[19].ToString();
textBox19.Text = ri[20].ToString();
textBox20.Text = ri[21].ToString();
textBox21.Text = ri[22].ToString();
textBox22.Text = ri[23].ToString();
textBox23.Text = ri[24].ToString();
textBox24.Text = ri[25].ToString();
textBox25.Text = ri[26].ToString();
textBox26.Text = ri[27].ToString();
textBox27.Text = ri[28].ToString();
textBox28.Text = ri[29].ToString();
textBox29.Text = ri[30].ToString();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -