このディレクトリの索引

# 出典 :: #498 # [1] 授業単元:プログラミング # [2] 問題文(含コード&リンク): # 0列目に学籍番号,1-4列目の要素に各テストの点数が格納されている二次元配列がある. # 全科目総点で昇順に並べ替えを行い,結果を表示するプログラムを作成せよ. # int seiseki[5][5]= {{1, 75, 68, 45, 91}, # {2, 87, 5, 100, 61}, # {3, 45, 79, 81, 77}, # {4, 53, 55, 55, 66}, # {5, 82, 32, 85, 74}, # seiseki([[1,75,68,45,91], [2,87,5,100,61], [3,45,79,81,77], [4,53,55,55,66], [5,82,32,85,74]]). '0列目に学籍番号,1-4列目の要素に各テストの点数が格納されている二次元配列がある.全科目総点で昇順に並べ替えを行い,結果を表示するプログラムを作成せよ.' :- seiseki(LL), 全科目総点で昇順に並べ替えを行い(LL,LL3), 結果を表示する(LL3). 全科目総点で昇順に並べ替えを行い(LL,LL3) :- findall([_全科目の総点,_行],全科目総点(LL,_行,_全科目の総点),LL2), 昇順に並べ替えを行い(LL2,LL3). 全科目総点(LL,_行,_全科目の総点) :- member(_行,LL), _行 = [_|_科目成績ならび], sum_list(_科目成績ならび,_全科目の総点). 昇順に並べ替えを行い(LL2,LL3) :- sort(LL2,LL4), reverse(LL4,LL3). 結果を表示する(_整列済み成績ならび) :- write('\n成績順位を昇順に整列したseiseki(['), append(L1,[[_合計,_学籍番号_成績ならび]|R],_整列済み成績ならび), ならび部分表示(L1,_学籍番号_成績ならび), 改行と終了(R). ならび部分表示([],_学籍番号_成績ならび) :- writef('%w',[_学籍番号_成績ならび]),!. ならび部分表示(_,_学籍番号_成績ならび) :- writef(' %w',[_学籍番号_成績ならび]). 改行と終了([]) :- write(']).\n\n'),!. 改行と終了(_) :- write('),\n'), fail.