PDA

View Full Version : سوال: چطور میشه n عدد رو با هم ترکیب کرد؟



sajadjamalian
دوشنبه 29 آذر 1389, 17:44 عصر
سلام دوستان:
من میخوام توی برنامه n عدد رو با هم ترکیب کنم و نشون بدم، مثلا فرض کنید میخوام اعداد 1و2و3 رو با هم ترکیب کنم، من میخوام توی خروجی چنین چیزی داشته باشم:1و2و3و12و13و23و123، کسی ایده ای چیزی داره ممنون میشم اینجا مطرح کنه.

hadi-z
دوشنبه 29 آذر 1389, 17:58 عصر
سلام
به نظر من بهترین کار استفاده از آرایه ای از نوع string است

با جابه جایی ایندکس ها خروجی مورد نظرتون حاصل میشه.

sajadjamalian
دوشنبه 29 آذر 1389, 18:03 عصر
سلام ممنون از توجهت،
ولی این روش رو اگه برای اعداد بزرگ بخوای استفاده کنی خیلی درهم بر هم میشه، من میخوام ببینم روش دیگه ای هم هست که راه کمتری داشته باشه؟

bms2002
دوشنبه 29 آذر 1389, 18:08 عصر
اين ديگه چه جور سواليه؟!!!
خوب مقادير تكست باكس ها يا ليبل ها رو با عملگرهاي & يا + كنار هم قرار بده ، حالا اونو با هر ابزاري كه قابليت نمايش داره در خروجي نشون بده ؛ البته در كنسول هم مي تونيد از همين روش استفاده كنيد....
اگر خواستيد بفرماييد كد اين برنامه به هر صورتي كه مورد نظر شماست بنويسم.
:متعجب:

morrteza323
دوشنبه 29 آذر 1389, 18:52 عصر
دوست عزیز شما می خوای زیر مجموعه های یه مجموعه n عضوی رو بدست بیاری ؟؟؟درسته؟؟؟

sajadjamalian
دوشنبه 29 آذر 1389, 20:31 عصر
سلام دوستان:
مثلا فرض کنید قرار باشه 10 تا عدد رو باهم ترکیب کنیم در اینصورت چطوری بصورت دستی 1024 حالت رو نشون بدم؟
آره دوست عزیز منظور من همون زیرمجموعه هاست.

sajadjamalian
سه شنبه 30 آذر 1389, 09:21 صبح
سلام دوستان:
کسی جواب ما رو نمیده؟ کارم خیلی فوریه.ممنون.

hossin.esm
سه شنبه 30 آذر 1389, 14:17 عصر
http://efreedom.com/Question/1-2650629/Finding-Subsets-Set-Sentence-Using-CSharp


private void button3_Click(object sender, EventArgs e)
{
string originalString = "1 2 3 4 5";
List<string[]> subsets = CreateSubsets(originalString.Split(' '));
foreach (string[] subset in subsets)
{
MessageBox.Show(string.Join("\t", subset));
}

}
List<T[]> CreateSubsets<T>(T[] originalArray)
{
List<T[]> subsets = new List<T[]>();
for (int i = 0; i < originalArray.Length; i++)
{
int subsetCount = subsets.Count;
subsets.Add(new T[] { originalArray[i] });
for (int j = 0; j < subsetCount; j++)
{
T[] newSubset = new T[subsets[j].Length + 1];
subsets[j].CopyTo(newSubset, 0);
newSubset[newSubset.Length - 1] = originalArray[i];
subsets.Add(newSubset);
}
}
return subsets;
}