このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1263824755/891
#  [1] 授業単元: プログラミング演習 
#  [2] 問題文(含コード&リンク): 
#  行列のrankを求める関数 rank( ) を実装せよ 
#  (提示ソースコードは後記) 
#  
#  include <iostream> 
#  #include <cstdlib> 
#  using namespace std; 
#   
#  #define ROWS 5 
#  #define COLS 4 
#   
#  int rank( double array[ROWS][COLS] ) 
#  { 
#   
#  } 
#   
#  int main( ) 
#  { 
#    srand( time(NULL) ); 
#   
#    double array[ROWS][COLS]; 
#   
#    for( int r=0; r<ROWS; ++r ){ 
#      for( int c=0; c<COLS; ++c ){ 
#        array[r][c] = rand( ); 
#      } 
#    } 
#   
#    rank( array ); 
#   
#    return 0; 
#  } 

行列の階数(_行列,_階数) :-
      ガウス行列に変形(_行列,_ガウス行列),
      count((member(L,_ガウス行列),\+('すべての要素が0か0.0'(L))),_階数).

'すべての要素が0か0.0'([]).
'すべての要素が0か0.0'([0|R]) :-
      'すべての要素が0か0.0'(R).
'すべての要素が0か0.0'([0.0|R]) :-
      'すべての要素が0か0.0'(R).