以下の問それぞれに対応するプログラムを作成しなさい.
問題1
次のプログラムは,入力した文字列の中の
子音だけを取り除き,
子音以外の文字列に変換する関数,
void shiin_remover()と,その関数のテスト用メイン関数を含むプログラムである. 関数,shiin_remover()の中身を加えて,下の実行例の様に機能するプログラムにしなさい.
また,子音かどうかを一文字ずつ判定する関数 is_shiin() も同時に作れ.main()関数を変更してはならない.
プログラムのファイル名を
学籍番号10桁-13-1.cpp とせよ.
上記プログラムの実行例
input strings: Today is a fine day!
Today is a fine day!
oa i a ie a!
問題2
下記のソースコードに倣い,任意の数 x および自然数 N を入力して,数列の和
を求める関数 func() を作成せよ.
なお,必要なヘッダファイルや定数,および関数定義を適宜加えること.main()は変更しないこと.
プログラムのファイル名を
学籍番号10桁-13-2.cpp とせよ.
問題3
3次元点群 (x,y,z) を保持する構造体 point3d_t を定義し.
以下の2つの関数
を作成せよ.
また,これらを用いて,キーボードから2点の座標を入力し,
その点の座標(2点)と
重心点の座標(1点)のそれぞれを表示するプログラムを作成せよ.
プログラムのファイル名を
学籍番号10桁-13-3.cpp とせよ.
// 実行例
> 13-3
x = 1
y = 2
z = 3
p1 = (1.000000,2.000000,3.000000)
x = 2
y = 5
z = 9
p2 = (2.000000,5.000000,9.000000)
c = (1.500000,3.500000,6.000000)
問題4
任意の2x2の行列
Aの逆行列を求める関数,double minverse(Matrix A)を作成せよ.
関数の返り値はdet(
M)とする.また,この関数を利用して,
ax + by = p
cx + dy = q
の二元連立一次方程式の解を求めるプログラムを作成せよ.
【ヒント】行列方程式 A X = P の解 Xは,X = A-1 P
プログラムのファイル名を
学籍番号10桁-13-4.cpp とせよ.