PDA

View Full Version : گفتگو: روش پیاده سازی این موضوع



Felony
جمعه 24 مهر 1388, 18:05 عصر
:لبخندساده:سلام

دوستان عزیز من میخوام ساختار زیر رو در VB پیاده سازی کنم به نظرتون راحت ترین روش برای پیاده سازیش تو VB چی هست ؟

همونطور که تو عکس میبینید اعداد از جمع 2 عدد بالایی خودشون که باخط بهشون متصل شدن به وجود اومدن ، نظرتون چیه ؟ فکر کنم راحت ترین روش آرایه ب2 بعدی باشه ؟ نه ؟
اگر اینطوره کمی راهنمایی بفرمایید ...

این شکل رو باید با تابع پرینت و حلقه روی فرم برنامه رسم کنم ، البته بدون خطهای اتصالش .

:چشمک:ممنون .

MBG73
شنبه 25 مهر 1388, 02:51 صبح
تا چند باید بره ؟

Felony
شنبه 25 مهر 1388, 06:10 صبح
تا چند باید بره ؟

فعلا همین قدر که تو عکس مشخص کردم .

ASedJavad
شنبه 25 مهر 1388, 11:35 صبح
اين خوبه؟

Dim i As Byte, j As Byte
Dim a As String
Dim NumStep As Byte
NumStep = 4
ReDim a1(1)
Print 1
Print "1 1"
For i = 2 To NumStep
ReDim a2(i)
a = "1 "
a1(0) = 1
a1(i - 1) = 1
For j = 1 To i - 1
a2(j) = a1(j - 1) + a1(j)
a = a & a2(j) & " "
Next j
a = a & "1"
Print a
a1 = a2
Next i
End Sub


فرمت پرينتش هم با خودت:چشمک:

Felony
شنبه 25 مهر 1388, 11:57 صبح
این رو خودم نوشتم ، فکر میکنم بهینه تر و خوانا تر هست و فرمت پرینت گرفتنش هم مثل خود عکس هست ، از این بهینه تر و تمیز تر میشه نوشت ؟


Dim M(0 To 5, 0 To 5) As Byte
' Fill array
For i = 1 To 5
For j = 1 To 5
M(i, j) = 1
If i = j Then
M(i, j) = 1
Else
M(i, j) = M(i - 1, j - 1) + M(i - 1, j)
End If
Next j
Next i

' Print array
For i = 1 To 5
Print Space((5 - i) * 3);
For j = 1 To i
Print M(i, j); Space(3);
Next j
Print
Next i

r0ot$harp
شنبه 25 مهر 1388, 23:49 عصر
این رو خودم نوشتم ، فکر میکنم بهینه تر و خوانا تر هست و فرمت پرینت گرفتنش هم مثل خود عکس هست ، از این بهینه تر و تمیز تر میشه نوشت ؟


Dim M(0 To 5, 0 To 5) As Byte
' Fill array
For i = 1 To 5
For j = 1 To 5
M(i, j) = 1
If i = j Then
M(i, j) = 1
Else
M(i, j) = M(i - 1, j - 1) + M(i - 1, j)
End If
Next j
Next i

' Print array
For i = 1 To 5
Print Space((5 - i) * 3);
For j = 1 To i
Print M(i, j); Space(3);
Next j
Print
Next i
دوست عزیز سورس شما باید چهار ردیف 1 داشته باشه اما برای شما 5 تا 1 داره .

فکر می کنم باید شما در خط آخر که Print می کنید چک کنید اگر خط آخر بود و 1 بود 1 هارو چاپ نکنه . اما این مبنا اشتباه شما باید از اول الگوریتم رو تغییر بدین .


باتشکر احسان

Felony
یک شنبه 26 مهر 1388, 08:09 صبح
یه بار تست کنید بعد ...