View Full Version : سوال: کار با آرایه ها
nabavi1387
جمعه 20 خرداد 1390, 19:18 عصر
سلام دوستان عزیز خسته نباشید :
من می خواهم برنامه ای بنویسم با آرایه ها که شکل زیر 3*3 را چاپ کند.
100
010
001
با تشکر
pcdownload.bloghaa.com
جمعه 20 خرداد 1390, 23:54 عصر
سلام
Private Sub Form_Load()
Dim a(2, 2) As Long
Me.AutoRedraw = True
For i = 0 To 2
a(i, i) = 1
Next i
For i = 0 To 2
For j = 0 To 2
Print a(i, j);
Next j
Print
Next i
End Sub
nabavi1387
شنبه 21 خرداد 1390, 08:48 صبح
سلام دوست عزیز ممنونم که پاسخ دادی حالا یکی دیگه می خوام 5*5 به شکل زیر :
01111
10111
11011
11101
11110
با تشکر
arenaw
شنبه 21 خرداد 1390, 11:02 صبح
با سلام؛
Private Sub Form_Load()
Dim a&(4, 4)
Me.AutoRedraw = True
For i = 0 To 4
For j = 0 To 4
a(i, j) = 1
Next j
a(i, i) = 0
For j = 0 To 4
Print a(i, j);
Next j
Print
Next i
End Sub
محسن واژدی
شنبه 21 خرداد 1390, 11:21 صبح
سلام علیکم
Private Sub Form_Load()
Dim a(4, 4) As Long
Me.AutoRedraw = True
For i = 0 To 4
For j = 0 To 4
a(i, j) = 1
Next j
Next i
For i = 0 To 4
a(i, i) = 0
Next i
For i = 0 To 4
For j = 0 To 4
Print a(i, j);
Next j
Print
Next i
End Sub
البته روش جناب arenaw کوتاه تر است
موفق باشید
pcdownload.bloghaa.com
شنبه 21 خرداد 1390, 22:46 عصر
تابع زیر را برات نوشتم حالشو ببری:
Private Sub MatX(n As Long, v As Long, x As Long)
Dim a() As Long
ReDim a(n * n - 1)
Me.AutoRedraw = True
For i = 0 To n * n - 1
a(i) = x
Next i
For i = 0 To n - 1
p = i * (n + 1)
a(p) = v
Next i
For i = 0 To n * n - 1
If (i \ n) = (i / n) And i <> 0 Then
Print
End If
Print a(i);
Next i
End Sub
ورودی های تابع : n که باعث ایجاد یه ماتریس n*n میشه.V عدد روی قطر اصلی و x هم عدد بقیه عناصر.
پس برای ساخت ماتریس
01111
10111
11011
11101
11110
دستور :
MatX 5, 0, 1
برای ماتریس
100
010
001
از دستور :
MatX 3, 1, 0
استفاده کنید یا هر ماتریس n*n دیگه.
vbhamed
یک شنبه 22 خرداد 1390, 19:45 عصر
سلام
اينم يك راه ساده تر با امكان تنظيم تعداد توسط متغير L
Dim l%, i%, j%, x(100, 100)
l = 20
For i = 1 To l
x(i, i) = 1
For j = 1 To l
Print Abs(1 - x(i, j));
Next
Print
Next
البته اگر اجبار به استفاده از آرايه 2 بعدي نباشه ساده تر هم ميشه
Dim l%, i%, x(100)
l = 20
For i = 1 To l
x(i) = String$(l, "1")
Mid$(x(i), i, 1) = "0"
Print x(i)
Next
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.