EX15 なぜかWAとなった。テストケースは合ってたのに
original.cpp
#include <bits/stdc++.h>
using namespace std;
// 1人のテストの点数を表す配列から合計点を計算して返す関数
// 引数 scores: scores.at(i)にi番目のテストの点数が入っている
// 返り値: 1人のテストの合計点
int sum(vector<int> scores) {
// ここにプログラムを追記
int length = scores.size();
int total = 0;
for (int i = 0; i < length; i++){
total += scores[i];
}
return total;
}
// 3人の合計点からプレゼントの予算を計算して出力する関数
// 引数 sum_a: A君のテストの合計点
// 引数 sum_b: B君のテストの合計点
// 引数 sum_c: C君のテストの合計点
// 返り値: なし
void output(int sum_a, int sum_b, int sum_c) {
// ここにプログラムを追記
cout << sum_a * sum_b * sum_c;
return;
}
// -------------------
// ここから先は変更しない
// -------------------
// N個の入力を受け取って配列に入れて返す関数
// 引数 N: 入力を受け取る個数
// 返り値: 受け取ったN個の入力の配列
vector<int> input(int N) {
vector<int> vec(N);
for (int i = 0; i < N; i++) {
cin >> vec.at(i);
}
return vec;
}
int main() {
// 科目の数Nを受け取る
int N;
cin >> N;
// それぞれのテストの点数を受け取る
vector<int> A = input(N);
vector<int> B = input(N);
vector<int> C = input(N);
// それぞれの合計点を計算
int sum_A = sum(A);
int sum_B = sum(B);
int sum_C = sum(C);
// プレゼントの予算を出力
output(sum_A, sum_B, sum_C);
}
answer.cpp
#include <bits/stdc++.h>
using namespace std;
// 1人のテストの点数を表す配列から合計点を計算して返す関数
// 引数 scores: scores.at(i)にi番目のテストの点数が入っている
// 返り値: 1人のテストの合計点
int sum(vector<int> scores) {
int s = 0;
for (int i = 0; i < scores.size(); i++) {
s += scores.at(i);
}
return s;
}
// 3人の合計点からプレゼントの予算を計算して出力する関数
// 引数 sum_a: A君のテストの合計点
// 引数 sum_b: B君のテストの合計点
// 引数 sum_c: C君のテストの合計点
// 返り値: なし
void output(int sum_a, int sum_b, int sum_c) {
cout << sum_a * sum_b * sum_c << endl;
}
// -------------------
// ここから先は変更しない
// -------------------
// N個の入力を受け取って配列に入れて返す関数
// 引数 N: 入力を受け取る個数
// 返り値: 受け取ったN個の入力の配列
vector<int> input(int N) {
vector<int> vec(N);
for (int i = 0; i < N; i++) {
cin >> vec.at(i);
}
return vec;
}
int main() {
// 科目の数Nを受け取る
int N;
cin >> N;
// それぞれのテストの点数を受け取る
vector<int> A = input(N);
vector<int> B = input(N);
vector<int> C = input(N);
// それぞれの合計点を計算
int sum_A = sum(A);
int sum_B = sum(B);
int sum_C = sum(C);
// プレゼントの予算を出力
output(sum_A, sum_B, sum_C);
}
何が違うんだろう?
EX16
初めてbool型を使った
EX17
配列の複数宣言の書き方
example.cpp
vector<int> A(N), B(N);
// これで一気に二つ作れる。わざわざ
vector<int> A(N);
ventor<int> B(N);
// と書く必要がない。