PDA

View Full Version : سوال: ترکیب حروف واعداد بصورت یک در میان



alirezabahrami
شنبه 13 تیر 1388, 18:45 عصر
با سلام
چگونه حروف یک کلمه مثل amir را با عدد 124568 ترکیب و تلفیق نمایم که نتیجه بصورت a1m2i4r568 بشود . البته میدانم با ایجاد یک حلقه شرطی اینکار انجام میشود ولی خودم به نتیجه نرسیدم .
با تشکر

alirezabahrami
یک شنبه 14 تیر 1388, 08:25 صبح
با سلام
چگونه حروف یک کلمه مثل amir را با عدد 124568 ترکیب و تلفیق نمایم که نتیجه بصورت a1m2i4r568 بشود . البته میدانم با ایجاد یک حلقه شرطی اینکار انجام میشود ولی خودم به نتیجه نرسیدم .
با تشکر

با سلام مجدد
چگونه حروف یک کلمه مثل amir را با عدد 124568 ترکیب و تلفیق نمایم که نتیجه بصورت a1m2i4r568 بشود . البته میدانم با ایجاد یک حلقه شرطی اینکار انجام میشود ولی خودم به نتیجه نرسیدم .
با تشكر

quantomquery
یک شنبه 14 تیر 1388, 21:53 عصر
برای اینکار ابتدا هر دو را به صورت رشته ای بخوانیدf1,f2 - سپس با هم جمع رشته ای کنید و در s بریزید سپس روشی شبیه به پایین در نظر بگیرید تا به جواب ss برسید :



dim f1,f2,s,ss as string
s=f1+f2
for i=1 to len(s)/2
ss=ss+mid(s,i,1)
ss=ss+mid(s,i+len (f1),1)
next i



البته این کد رو تست نکردم شاید اشکال کوچیکی داشته باشه اما می شه گفت کلک با حالیه
ولی میتونی از روش استاندارد تری استفاده کنی :
هرکدوم از اون رشته های اولیه رو با یک for درون یه آرایه بریزی و با یک for دیگه از هرکدوم از آرایه ها یکی یکی بخونی و توی یه آرایه دیگه بریزی و سر آخر مقادیر آرایه آخری رو با هم جمع رشته ای بکنی

Felony
دوشنبه 15 تیر 1388, 06:43 صبح
:چشمک:به سادگی با یک حلقه به طول بزرگترین رشته میتونی ، با هر بار اجرای حلقه یک کارکتر از رشته 1 رو با یک کارکتر از رشته 2 جمع میکنی .


Dim S1 As String, S2 As String, S3 As String, i As Byte, Length As Byte
S1 = "Amir"
S2 = "1234568"
Length = Len(S1)
If Length < Len(S2) Then Length = Len(S2)
For i = 1 To Length
S3 = S3 + Mid(S1, i, 1) + Mid(S2, i, 1)
Next i
MsgBox S3

اگر همیشه طول رشته دوم یا اول بیشتر از اون یکی هست میتونی این تیکه از کد رو حذف کنی و تعداد دفعات تکرار حلقه رو طول رشته مورد نظرت بزاری :


Dim S1 As String, S2 As String, S3 As String, i As Byte, Length As Byte
S1 = "Amir"
S2 = "1234568"
Length = Len(S1)
If Length < Len(S2) Then Length = Len(S2)
For i = 1 To Length ' => Len(S2 íÇ S1 )
S3 = S3 + Mid(S1, i, 1) + Mid(S2, i, 1)
Next i
MsgBox S3