各位前辈,我想把程序输出结果的格式由原来的按顺序排列,如假设以下数据是应用条件1 4至5 22至38
应用条件2 2至3
应用条件3 1至2
应用条件4 100至101
应用条件6 在其中5个小筐里点出钩 4至5 2至3 2至3假设输出结果为:1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-5-8
1-2-3-4-5-9
1-2-3-4-5-10
1-2-3-4-5-11
1-2-3-4-5-12
1-2-3-4-5-13
变成 1-2-3-4-5-9 (假设该组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 100至100 , 条件6 4至4 2至2 2至2 )1-2-3-4-5-12 (假设该组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 100至100 , 条件6 4至4 3至3 2至2 )1-2-3-4-5-6
1-2-3-4-5-11 (假设该2组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 100至100 , 条件6 4至4 3至3 3至3 )1-2-3-4-5-7
1-2-3-4-5-8
1-2-3-4-5-10
1-2-3-4-5-13 (假设该组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 101至101 , 条件6 4至4 2至2 2至2 )请问谁能帮帮我吗?!
我找不到上传附件的地方,程序太长,感兴趣的前辈,我把程序发到您的油箱里去。谢谢了!!!
以下是程序片段 //程序运行过程
private void button3_Click(object sender, System.EventArgs e)
{
this.textBox84.Text = "";
this.textBox85.Text = "";
int i, i1, i2, i3, i4, i5, j, k = 0;
int numofresult = 0;
string s;
string result = "输出结果为:" + "\r\n";
DialogResult dr;
for (j = 0; j < 40; j++)
{
if (ifwanttocheck[j])
k++;
}
if (k == 0)
{
MessageBox.Show("没有确定任何约束条件!", "警告", MessageBoxButtons.OKCancel);
return;
}
if (k < 8)
{
dr = MessageBox.Show("约束条件太少,这将需要花费长时间等待输出结果!", "提示", MessageBoxButtons.OKCancel);
if (dr == DialogResult.Cancel)
return;
}
for (i = 1; i <= 49; i++)
{
for (i1 = i + 1; i1 <= 49; i1++)
{
for (i2 = i1 + 1; i2 <= 49; i2++)
{
for (i3 = i2 + 1; i3 <= 49; i3++)
{
for (i4 = i3 + 1; i4 <= 49; i4++)
{
for (i5 = i4 + 1; i5 <= 49; i5++)
{
data[0] = i;
data[1] = i1;
data[2] = i2;
data[3] = i3;
data[4] = i4;
data[5] = i5;
if (ifwanttocheck[0])
{
condition1 mycondition1 = new condition1(data, dataofsplitting1, parameter1);
if (!mycondition1.checkcondition1()) continue;
}
if (ifwanttocheck[1])
{
condition2 mycondition2 = new condition2(data, parameter2);
if (!mycondition2.checkcondition2()) continue;
} 略 略
//条件6
private void button7_Click(object sender, System.EventArgs e)
{
ifwanttocheck[5] = true;
this.tabPage6.BackColor = Color.Gray;
int i, j, k, l;
string[] temp;
bool flag;
check6 = new bool[8];
dataofsplitting6 = new int[8][];
for (i = 0; i < 8; i++)
dataofsplitting6[i] = new int[15];
parameter6 = new int[6];
parameter6[0] = Convert.ToInt32(this.textBox19.Text);
parameter6[1] = Convert.ToInt32(this.textBox20.Text);
parameter6[2] = Convert.ToInt32(this.textBox138.Text);
parameter6[3] = Convert.ToInt32(this.textBox139.Text);
parameter6[4] = Convert.ToInt32(this.textBox141.Text);
parameter6[5] = Convert.ToInt32(this.textBox140.Text); check6[0] = this.checkBox12.Checked;
check6[1] = this.checkBox13.Checked;
check6[2] = this.checkBox14.Checked;
check6[3] = this.checkBox15.Checked;
check6[4] = this.checkBox16.Checked;
check6[5] = this.checkBox17.Checked;
check6[6] = this.checkBox18.Checked;
check6[7] = this.checkBox19.Checked; for (i = 0; i < 8; i++)
{
switch (i + 1)
{
case 1:
temp = this.textBox22.Text.Split(',', ',', '、');
break;
case 2:
temp = this.textBox23.Text.Split(',', ',', '、');
break;
case 3:
temp = this.textBox21.Text.Split(',', ',', '、');
break;
case 4:
temp = this.textBox24.Text.Split(',', ',', '、');
break;
case 5:
temp = this.textBox25.Text.Split(',', ',', '、');
break;
case 6:
temp = this.textBox27.Text.Split(',', ',', '、');
break;
case 7:
temp = this.textBox28.Text.Split(',', ',', '、');
break;
default:
temp = this.textBox26.Text.Split(',', ',', '、');
break;
}
l = 0;
for (j = 0; j < temp.Length - 1; j++)
{
flag = false;
for (k = j + 1; k < temp.Length; k++)
{
if (temp[j] == temp[k])
flag = true;
}
if (!flag)
{
dataofsplitting6[i][l] = Convert.ToInt32(temp[j]);
l++;
}
}
dataofsplitting6[i][l] = Convert.ToInt32(temp[temp.Length - 1]);
}
} 略 略
应用条件2 2至3
应用条件3 1至2
应用条件4 100至101
应用条件6 在其中5个小筐里点出钩 4至5 2至3 2至3假设输出结果为:1-2-3-4-5-6
1-2-3-4-5-7
1-2-3-4-5-8
1-2-3-4-5-9
1-2-3-4-5-10
1-2-3-4-5-11
1-2-3-4-5-12
1-2-3-4-5-13
变成 1-2-3-4-5-9 (假设该组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 100至100 , 条件6 4至4 2至2 2至2 )1-2-3-4-5-12 (假设该组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 100至100 , 条件6 4至4 3至3 2至2 )1-2-3-4-5-6
1-2-3-4-5-11 (假设该2组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 100至100 , 条件6 4至4 3至3 3至3 )1-2-3-4-5-7
1-2-3-4-5-8
1-2-3-4-5-10
1-2-3-4-5-13 (假设该组数据满足 条件1 4至4 22至22 ,条件2 2至2 , 条件3 1至1 ,条件4 101至101 , 条件6 4至4 2至2 2至2 )请问谁能帮帮我吗?!
我找不到上传附件的地方,程序太长,感兴趣的前辈,我把程序发到您的油箱里去。谢谢了!!!
以下是程序片段 //程序运行过程
private void button3_Click(object sender, System.EventArgs e)
{
this.textBox84.Text = "";
this.textBox85.Text = "";
int i, i1, i2, i3, i4, i5, j, k = 0;
int numofresult = 0;
string s;
string result = "输出结果为:" + "\r\n";
DialogResult dr;
for (j = 0; j < 40; j++)
{
if (ifwanttocheck[j])
k++;
}
if (k == 0)
{
MessageBox.Show("没有确定任何约束条件!", "警告", MessageBoxButtons.OKCancel);
return;
}
if (k < 8)
{
dr = MessageBox.Show("约束条件太少,这将需要花费长时间等待输出结果!", "提示", MessageBoxButtons.OKCancel);
if (dr == DialogResult.Cancel)
return;
}
for (i = 1; i <= 49; i++)
{
for (i1 = i + 1; i1 <= 49; i1++)
{
for (i2 = i1 + 1; i2 <= 49; i2++)
{
for (i3 = i2 + 1; i3 <= 49; i3++)
{
for (i4 = i3 + 1; i4 <= 49; i4++)
{
for (i5 = i4 + 1; i5 <= 49; i5++)
{
data[0] = i;
data[1] = i1;
data[2] = i2;
data[3] = i3;
data[4] = i4;
data[5] = i5;
if (ifwanttocheck[0])
{
condition1 mycondition1 = new condition1(data, dataofsplitting1, parameter1);
if (!mycondition1.checkcondition1()) continue;
}
if (ifwanttocheck[1])
{
condition2 mycondition2 = new condition2(data, parameter2);
if (!mycondition2.checkcondition2()) continue;
} 略 略
//条件6
private void button7_Click(object sender, System.EventArgs e)
{
ifwanttocheck[5] = true;
this.tabPage6.BackColor = Color.Gray;
int i, j, k, l;
string[] temp;
bool flag;
check6 = new bool[8];
dataofsplitting6 = new int[8][];
for (i = 0; i < 8; i++)
dataofsplitting6[i] = new int[15];
parameter6 = new int[6];
parameter6[0] = Convert.ToInt32(this.textBox19.Text);
parameter6[1] = Convert.ToInt32(this.textBox20.Text);
parameter6[2] = Convert.ToInt32(this.textBox138.Text);
parameter6[3] = Convert.ToInt32(this.textBox139.Text);
parameter6[4] = Convert.ToInt32(this.textBox141.Text);
parameter6[5] = Convert.ToInt32(this.textBox140.Text); check6[0] = this.checkBox12.Checked;
check6[1] = this.checkBox13.Checked;
check6[2] = this.checkBox14.Checked;
check6[3] = this.checkBox15.Checked;
check6[4] = this.checkBox16.Checked;
check6[5] = this.checkBox17.Checked;
check6[6] = this.checkBox18.Checked;
check6[7] = this.checkBox19.Checked; for (i = 0; i < 8; i++)
{
switch (i + 1)
{
case 1:
temp = this.textBox22.Text.Split(',', ',', '、');
break;
case 2:
temp = this.textBox23.Text.Split(',', ',', '、');
break;
case 3:
temp = this.textBox21.Text.Split(',', ',', '、');
break;
case 4:
temp = this.textBox24.Text.Split(',', ',', '、');
break;
case 5:
temp = this.textBox25.Text.Split(',', ',', '、');
break;
case 6:
temp = this.textBox27.Text.Split(',', ',', '、');
break;
case 7:
temp = this.textBox28.Text.Split(',', ',', '、');
break;
default:
temp = this.textBox26.Text.Split(',', ',', '、');
break;
}
l = 0;
for (j = 0; j < temp.Length - 1; j++)
{
flag = false;
for (k = j + 1; k < temp.Length; k++)
{
if (temp[j] == temp[k])
flag = true;
}
if (!flag)
{
dataofsplitting6[i][l] = Convert.ToInt32(temp[j]);
l++;
}
}
dataofsplitting6[i][l] = Convert.ToInt32(temp[temp.Length - 1]);
}
} 略 略
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货