第11講 プロシージャの再帰的使用によって順列を生成する
第2話 普遍的な順列生成プログラム例

入門
コード
Dim x(15) As Byte, cn As Long, n As Byte
Private Sub CommandButton1_Click()
  n = Cells(3, 11)
  cn = 0
  f (0)
End Sub
Sub f(g As Byte)
  Dim h As Byte, i As Byte, j As Byte, a As Byte, s As Long
  a = cn Mod 10
  s = Int(cn / 10)
  For i = 1 To n
    x(g) = i
    h = 1
    If g > 0 Then
      For j = 0 To g - 1
        If x(j) = x(g) Then
          h = 0
          Exit For
        End If
      Next
    End If
    If h = 1 Then
      If g + 1 < n Then
        f (g + 1)
      Else
        For j = 0 To n - 1
          Cells(5 + 2 * s, 2 + (n + 1) * a + j) = x(j)
        Next
        cn = cn + 1
      End If
    End If
  Next
End Sub


このコードを読んで初心者の皆さんは、
頭が爆発しそうになっているのではないでしょうか。
ひょっとしたら、プログラミングにある程度慣れている方さえ、
???なのではないでしょうか。

でも、大丈夫ですよ。
皆さんが理解できるまで丁寧にエスコートします。


第1話へ 第3話へ



トップ

初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba マクロ 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門

数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ