DexterFstone 396 ارسال شده در 27 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 27 آذر، ۱۴۰۱ سلام به اساتید به تابع جایگشت نیاز دارم اگه امکانش هست در این زمینه کمک کنید خودم سیع کردم بنویسمش ولی کمی به مشکل خوردم برای مثال میخوام ورودی زیر بدم Dim inputs() as string = arrays as string("A","B","C") و خروجی زیر را دریافت کنم A B C AB AC BA BC CA CB ABC BAC CAB ... و همینطور به همین ترتیب و حتما میخوام بصورت ارایه بدم (مثل Inputs) نه بصورت یک رشته واحد ("ABC") و بیاد عملیات جداسازی انجام بشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امیرحسین قاسمی 610 ارسال شده در 29 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 29 آذر، ۱۴۰۱ تابع رو براتون ویرایش و همچنین بهینه کردم: Sub Permutation(input() As String,Separator As String) For counter=1 To input.Length If counter=1 Then For u=0 To input.Length-1 Log(input(u)) 'خروجی تک عضوی ها Next Else Dim Output As String Dim p,c As Int For R=0 To input.Length-1 For y=R+1 To R+input.Length-1 c=0 Output=input(R) Do While Regex.Split(Separator,Output).Length<counter p=(y+c) Mod input.Length If p<>R Then Output=Output &Separator& input(p) c=c+1 Loop Log(Output) 'خروجی Next Next End If Next End Sub این تابع دوتا ورودی میگیره که اولیش همون آرایه و دومیش هم جدا کننده خروجی هست: Dim inputs() As String = Array As String("java","PHP","Python") Permutation(inputs,"/") خروجی: java PHP Python java/PHP java/Python PHP/Python PHP/java Python/java Python/PHP java/PHP/Python java/Python/PHP PHP/Python/java PHP/java/Python Python/java/PHP Python/PHP/java لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امیرحسین قاسمی 610 ارسال شده در 28 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 28 آذر، ۱۴۰۱ سلام این تابع رو اضافه کنین: Sub Permutation(input() As String) For counter=1 To input.Length If counter=1 Then For u=0 To input.Length-1 Log(input(u)) 'خروجی تک عضوی ها Next Else Dim result As StringBuilder Dim str As String If input.Length = 0 Then str="" If input.Length = 1 Then str=input(0) result.Initialize result.Append(input(0)) For i=1 To input.Length-1 result.Append(input(i)) Next str=result.ToString Dim Output As String Dim p,c As Int For x=0 To str.Length-1 For y=x+1 To x+str.Length-1 c=0 Output=str.CharAt(x) Do While Output.Length<counter p=(y+c) Mod str.Length If p<>x Then Output=Output & str.CharAt(p) c=c+1 Loop Log(Output) 'خروجی Next Next End If Next End Sub و به این شکل استفاده کنین: Dim inputs() As String = Array As String("A","B","C") Permutation(inputs) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
DexterFstone 396 ارسال شده در 29 آذر، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 29 آذر، ۱۴۰۱ 13 ساعت قبل، امیرحسین قاسمی گفته است: سلام این تابع رو اضافه کنین: Sub Permutation(input() As String) For counter=1 To input.Length If counter=1 Then For u=0 To input.Length-1 Log(input(u)) 'خروجی تک عضوی ها Next Else Dim result As StringBuilder Dim str As String If input.Length = 0 Then str="" If input.Length = 1 Then str=input(0) result.Initialize result.Append(input(0)) For i=1 To input.Length-1 result.Append(input(i)) Next str=result.ToString Dim Output As String Dim p,c As Int For x=0 To str.Length-1 For y=x+1 To x+str.Length-1 c=0 Output=str.CharAt(x) Do While Output.Length<counter p=(y+c) Mod str.Length If p<>x Then Output=Output & str.CharAt(p) c=c+1 Loop Log(Output) 'خروجی Next Next End If Next End Sub و به این شکل استفاده کنین: Dim inputs() As String = Array As String("A","B","C") Permutation(inputs) ظاهرا کدها مشکل دارن وقتی بجای حروف از کلمه استفاده کنم کلا یک خروجی دیگه ای میده لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امیرحسین قاسمی 610 ارسال شده در 29 آذر، ۱۴۰۱ اشتراک گذاری ارسال شده در 29 آذر، ۱۴۰۱ 3 دقیقه قبل، DexterFstone گفته است: ظاهرا کدها مشکل دارن وقتی بجای حروف از کلمه استفاده کنم کلا یک خروجی دیگه ای میده خب من این تابع رو فقط برای عضوهای تک حرفی نوشتم! لطفا یه مثال هم از کلمات بزنین که میخواین خروجی به چه صورت باشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
DexterFstone 396
سلام به اساتید
به تابع جایگشت نیاز دارم اگه امکانش هست در این زمینه کمک کنید خودم سیع کردم بنویسمش ولی کمی به مشکل خوردم
برای مثال میخوام ورودی زیر بدم
Dim inputs() as string = arrays as string("A","B","C")
و خروجی زیر را دریافت کنم
A B C AB AC BA BC CA CB ABC BAC CAB ...
و همینطور به همین ترتیب و حتما میخوام بصورت ارایه بدم (مثل Inputs) نه بصورت یک رشته واحد ("ABC") و بیاد عملیات جداسازی انجام بشه
لینک ارسال
به اشتراک گذاری در سایت های دیگر
4 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.