以下のようなクラスを作り、main関数で呼び出して、動作を確認しなさい。
数値を、1列にまとめて扱う系のことを言います(難しい)
2次元の場合は、2つの数字を並べて1つの組として扱うものをいいます。
その組に対して、四則演算や様々な計算法が定義される。。。となります。
普段使っている計算方法は、1つの数字同士を組み合わせて計算していくよね?
そいつらのことは、スカラーといいます(ベクトルと対比しての話ね、あんま単独では言わんよね)。
スカラー同士の足し算: $3+3=6$
2次元ベクトル: $ \vec{a} = (x, y) $
例)
$ \vec{a} = (2, 3) $

ベクトルはよく矢印であるという表現をしますが、厳密には違います。
でもまぁ、初歩の段階ではそう思っておいても差し支えないかもしれないです。
Figure.1の矢印に注目すると、原点から生えている長さを持った矢印として表現されています。
これを、数値で表すと$(2, 3)$となります。この数値は、
「ベクトルを原点に移したときの矢印の先の座標である」ということが言えます。
わからない人は、ベクトルの根元を原点$(0, 0)$に移動したときの、矢印の先の$x座標$と$x座標$だな。と覚えてください。
この座標の事を、ベクトル$\vec{a}$の$x成分$および$y成分$と呼びます。
ベクトルを何倍かの大きさに拡大します。
ベクトルに実数をかけるだけです。
2次元ベクトル$ \vec{a} = (x, y) $に実数$n$をかけると、$ n\vec{a} = (n\cdot x, n\cdot y) $になります。簡単よね
図で書くと、以下の図のように、ベクトルを$n$倍するとベクトルの長さが$n$倍になります。
この時、$x$成分、$y$成分に注目すると
$(n\cdot x成分,n\cdot y成分)$となり、各成分に$n$を掛けた値が、$n$倍したベクトルの先の座標になります。
例1)
$ \vec{a}$を2倍する
$ \vec{a} = (2, 3) $
$2\times\vec{a} = (2\times 2, 2\times 3) $
例2)
$ \vec{a}$を1.5倍する
$ \vec{a} = (2, 3) $
$2\times\vec{a} = (1.5\times 2, 1.5\times 3) $
ベクトルとベクトルを足すと、ベクトルになります。
成分別で見ると、2つのベクトル$ \vec{a} = (x_1, y_1) $ と $ \vec{b} = (x_2, y_2) $があるとき、その足し算の結果は
それぞれのベクトルの$x$成分同士、$y$成分同士を足したものになります。
$ \vec{a} = (x_1, y_1) $ と $ \vec{b} = (x_2, y_2) $ があるときそのベクトル和(足し算) $ \vec{c} $ は、$ \vec{c} = \vec{a}+\vec{b}=(x_1+x_2, y_1+y_2) $
この2つのベクトルを足し合わせた、$\vec{c}$は以下のように求められます。
通常の掛け算(スカラー)は $ 2 \times 5 = 10 $ のように、1つの数と、1つの数をかけるので一意に演算が定義されます。
ベクトルの掛け算は、どう定義したらいいか考えた結果、2種類の掛け算が考え出されました。
1つは内積、1つは外積です。
計算が内積のほうが簡単なので、内積を計算してみます。
$ \vec{a} = (x_1, y_1) $ と $ \vec{b} = (x_2, y_2) $ があるときその内積 $\vec{a}\cdot\vec{b}$ は、 $ \vec{a} \cdot \vec{b} = x_1 \times x_2 + y_1 \times y_2$ であらわされます。
値としては、内積は$\vec{a}\cdot\vec{b} = |\vec{a}||\vec{b}|\cos\theta$と同値になります。
showMe()呼び出し例: 名前:yamada taro 身長:165cm 体重:65kg の場合 ==== Profile ==== 名前:yamada taro 身長:165 cm 体重:65 kg BMI:23.8 =================
main関数内で以下のようなデータを読み込んで、クラスのメンバに値をセットしなさい。
人数分のclassの配列を作って、for分でデータを読み込む!
初めの数字はデータ数、その後に学生のデータが1行に1人分ずつ並んでいる
9 yamada 165 65 imada 156 84 kagawa 172 76 shibata 148 45 muto 182 95 okada 185 105 nagata 178 82 suzuki 179 88 akiyama 185 90
main関数の前部分に関数を二つ作りなさい。
これらの関数を使い、並べ替えられたプロフィール一覧を表示しなさい。
データを9人分読み込み後sortByHeightで並べ替えたデータをprintMeした結果の例
yamada 165 65 imada 156 84 kagawa 172 76 shibata 148 45 muto 182 95 okada 185 105 nagata 178 82 suzuki 179 88 akiyama 185 90 ==== Profile of shibata ==== 身長:148 cm 体重:45 kg BMI:20.5442 ================= ==== Profile of imada ==== 身長:156 cm 体重:84 kg BMI:34.5168 ================= ==== Profile of yamada ==== 身長:165 cm 体重:65 kg BMI:23.8751 ================= ==== Profile of kagawa ==== 身長:172 cm 体重:76 kg BMI:25.6896 ================= ==== Profile of nagata ==== 身長:178 cm 体重:82 kg BMI:25.8806 ================= ==== Profile of suzuki ==== 身長:179 cm 体重:88 kg BMI:27.4648 ================= ==== Profile of muto ==== 身長:182 cm 体重:95 kg BMI:28.6801 ================= ==== Profile of okada ==== 身長:185 cm 体重:105 kg BMI:30.6793 ================= ==== Profile of akiyama ==== 身長:185 cm 体重:90 kg BMI:26.2966 =================