SML# - Tutorial/015-1 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

[ [[トップ |Tutorial]]| [[目次|Tutorial/000]] | [[前ページ|Tutorial/015]] | [[ 次ページ |Tutorial/015-2]] ]
----
!!! 論理積を用いたstringCompare関数の定義

二つの条件式e1とe2の論理積(すなわち両方が成り立つ時のみ真となる式)は
(e1 && e2)
と書く.stringCompare関数を,論理積演算子を用いたコードに書き直せ.

!!! 大文字小文字の違いを無視して文字列を比較する関数
英字を小文字に変換する関数toLower
を定義し,それを使って,
大文字小文字の違いを無視して文字列を比較する関数を書き直せ,

!!! 文字列を辞書式順序で比較する関数
辞書式順序S1 < S2とは,以下のように定義された順序関係である.
# S1の先頭文字がS2の先頭文字より小さければ,S1 < S2である.
# S1の先頭文字がS2の先頭文字より大きければ,S2 < S2である.
# S1の先頭文字とS2の先頭文字が同一の場合は,2文字目以降の文字列を比較した結果を比較の結果とする.
ただし,'\0'を含めて考え,'\0'は全ての文字より小さい.
与えられた2つの文字列S1とS2を比較し,
# S1 < S2なら-1
# S1 = S2なら0
# S1 > S2なら-1
を返す関数
int strComp(char *S1, char *S2)
を定義せよ.

!!! 文字列の置き換え
文字列S1の中の文字Cを別の文字列S1で置き換えて得られる文字列を結果を格
納する領域resultに返す関数.
int substitute(char result[], char *S1, char c, char *S2)
を定義せよ.結果は,置き換えによって得られた文字列の大きさとする.

[[解答例|Tutorial/015-2]]

----
[ [[トップ |Tutorial]]| [[目次|Tutorial/000]] | [[前ページ|Tutorial/015]] | [[ 次ページ |Tutorial/015-2]] ]