Hocam, vbnet ile yazdığım projeye fikstür denemesi ismi verdim. Projenin fotoğrafını ve açılır proje dosyasını ek olarak yükledim, visual studio 13 kullandım. Butona ait event kodları:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim k As Integer = CInt(TextBox1.Text) 'textboxa girilen değeri tam sayı olarak alıyor.
Dim sayilar(k - 1, k - 1) As String 'diziyi yazı olarak belirledim, siz sayı olarak tabelirleyebilirsiniz
Dim x, y As New List(Of String) 'değişkenin apsis ve ordinatının listeleri
Dim çıktı As String = "" 'çıktıyı mesaj olarak verecek
For i = 0 To k - 1 ' bu döngü ilk eşleştirme için yapıldı
If i < (k / 2) Then
x.Add(1 + i) 'koordinatları listelere atıyoruz
y.Add(k - i)
sayilar(x.Item(i) - 1, y.Item(i) - 1) = x.Item(i).ToString & " ile " & y.Item(i).ToString & " arasındaki maç" ' diziye değer atıyoruz
End If
Next
For j = 0 To (k / 2) - 1
çıktı = çıktı & sayilar(x.Item(j) - 1, y.Item(j) - 1) & Chr(13) ' verileri çıktıya yazdırıyor
Next
'NOT: x VE y LİSTELERİNİN ELEMAN SAYISI GİRİLEN DEĞERİN YARISI VE GİRİLEN DEĞERİN 2 EKSİĞİ KADAR DÖNME OLACAK
'DÖNMEDE HER DEFASINDA x LİSTESİNİN SON ELEMANI y LİSTESİNİN SON ELEMANI, Y LİSTESİNİN İLK ELEMANI X LİSTESİNİN 2.ELEMANI OLACAK
For i = 1 To k - 2 'BU BÖLÜM DÖNMEYİ SAĞLIYOR
Dim degisken As Integer = y.Item(0)
If k > 2 Then
For j = 0 To (k / 2) - 2
y.Item(j) = y.Item(j + 1)
Next
End If
y.Item((k / 2) - 1) = x.Item((k / 2) - 1)
If k > 4 Then
For j = (k / 2) - 1 To 2 Step -1
x.Item(j) = x.Item(j - 1)
Next
End If
x.Item(1) = degisken
çıktı = çıktı & Chr(13) 'fazladan bir boşluk
For j = 0 To (k / 2) - 1
sayilar(x.Item(j) - 1, y.Item(j) - 1) = x.Item(j).ToString & " ile " & y.Item(j).ToString & " arasındaki maç"
çıktı = çıktı & sayilar(x.Item(j) - 1, y.Item(j) - 1) & Chr(13)
Next
Next
MsgBox(çıktı)
End Sub
Siteden indirmede sorun olursa projeyi buradan da indirebilirsiniz.
https://drive.google.com/open?id=1eDmPp0Ax-I_3X1iT01P0_JMEi8-rRe7B