このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1322562648/122
#  1] 授業単元:  
#  [2] 問題文(含コード&リンク):  
#   
#  (1)  
#  #include <stdio.h>  
#  #define NUMBER 5  
#  int tensu[NUMBER];  
#  int top(void);  
#  int main(void)  
#  {  
#  extern int tensu[];  
#  int i;  
#  printf("%d人の点数を入力してください。\n", NUMBER);  
#  for (i = 0; i < NUMBER; I++) { printf("%d:",i + 1); scanf("%d", &tensu[i]); } printf("最高点=%d\n", top()); return (0);  
#  }  
#  int top(void)  
#  { extern int tensu[]; int i; int max = tensu[0]; for (i = 1; i < NUMBER; i++) if (tensu[i] > max) max = tensu[i]; return (max);  
#  }  
#  上のプログラムを参考にして、5人の点数の平均点を返す関数 double ave(void)を作成せよ。  
#  その関数を用いて、読み込んだ5人の点数の平均値を出力するプログラムを作成せよ。  
#  (2)  
#  2つの 3成分ベクトル a, b の外積 c を求める関数 void acrossb(double a[], double b[], double c[]) を作成せよ。  
#  この関数を用いて次の二つのベクトル va=(1.0, 2.0, 1.0) , vb=(-2.0, 0.5, 1.0) の外積を計算するプログラムを作成せよ。  
#  

'2つの 3成分ベクトル a, b の外積 c を求める'(_a,_b,_c) :-
        length(_c,3),
        '3成分ベクトルの外積'(_a,_b,_c).

'3成分ベクトルの外積'(_a,_b,[]) :- !.
'3成分ベクトルの外積'(_a,_b,[[V]|R]) :-
        ならびの回転(左方向,_a,[[A],[B],[C]]),
        ならびの回転(左方向,_b,[[D],[E],[F]]),
        V is A*E-B*D,
        '3成分ベクトルの外積'([[A],[B],[C]],[[D],[E],[F]],R).