خرید بک لینک
نقل قول نوشته شده توسط mahdieha مشاهده تاپیک

باسلام
من یک تمرین سی شارپ دارم درمورد ضرب زنجیر ماتریس در طراحی الگوریتم هست توضیحات کدش رو میخوام خیلی هم واجبه واسه امتحان میخوام . خوشحال میشم کمکم کنید

این کدForm.cs در سی شارپ است
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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)
{

}
}
}

برچسب: نویسنده: محمد رضا جوادیان تاريخ: چهارشنبه 5 خرداد 1395 ساعت: 0:05

صفحه بندی