namespace prj_tarahi_2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public int tabe(int n, int[] d, int[,] p)
{
int i, j, k, diagonal;
int[,] M;
M = new int[n+1, n+1];
for (int i1 = 1; i1 <=n; i1++)
M[i1, i1] = 0;
for (diagonal = 1; diagonal <= n - 1; diagonal++)
{
for (i = 1; i <= n - diagonal; i++)
{
j = i + diagonal;
M[i, j] = M[i, i] + M[i + 1, j] + d[i - 1] * d[i] * d[j];
for (k = i; k <= j - 1; k++)
{
if (M[i, j] > M[i, k] + M[k + 1, j] + d[i - 1] * d[k] * d[j])
{
M[i, j] = M[i, k] + M[k + 1, j] + d[i - 1] * d[k] * d[j];
}
}
p[i, j] = k-1;
}
}
for (int i1 = 0; i1 <= n; i1++)
p[0, i1] = 1;
//int yu = p[3, 4];
int we = M[1, n - 1];
retu we;
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Enabled = false;
s = new string[1000];
}
public int [,] d21;
private void button1_Click(object sender, EventArgs e)
{
try
{
label1.Text = "";
int n = Convert.ToInt16(textBox1.Text);
string[] fgh;
fgh = new string[20];
int j2 = 0, t = 0, o = 0;
for (int i = 0; i < textBox2.Text.Length; i++)
{
o++;
if (textBox2.Text[i] == ',')
{
fgh[t] = textBox2.Text.Substring(j2, o - 1);
j2 = i + 1;
t++;
o = 0;
}
}
int[] d1;
d1 = new int[n + 1];
d21 = new int[n + 1, n + 1];
for (int i = 0; i <= n; i++)
d1[i] = Convert.ToInt16(fgh[i]);
//d1[0]=5;
//d1[1]=2;
//d1[2]=3;
//d1[3]=4;
//d1[4]=6;
//d1[5]=7;
//d1[6]=8;
int c = 0;
c = tabe(n, d1, d21);
chap(Convert.ToInt16(textBox3.Text), Convert.ToInt16(textBox4.Text), d21);
}
catch (Exception c)
{
MessageBox.Show(c.ToString()+"!! :) خواهشمند است اطلاعات رو درست وارد کنید ");
}
}
public string[] s;
int op = 0;
int k = 0;
public void chap(int x, int y,int [,]p)
{
if (x == y)
label1.Text=label1.Text+ "A" + x+",";
else
{
k =p[x-1, y];
label1.Text=label1.Text+"(";
chap(x,k , p);
k = k + 1;
chap(k, y, p);
label1.Text=label1.Text+ ")";
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text != "" && textBox2.Text != "")
button1.Enabled = true;
else
button1.Enabled = false;
}
private void textBox1_Leave(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text != ""&&textBox2.Text!="")
button1.Enabled = true;
//else
// button1.Enabled = false;
}
private void label2_Click(object sender, EventArgs e)
{
}
}
}
برچسب:
نویسنده: محمد رضا جوادیان