自分のアカウントです
EX.cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int> data(5);
for (int i = 0; i < 5; i++) {
cin >> data.at(i);
}
// if (data.at(1) == data.at(2) || data.at(2) == data.at(3) || data.at(3) == data.at(4))
int y = 0;
for (int i = 0; i < 4; i)
{
if (data.at(i) == data.at(i+=1))
{
y=1;
break;
}
}
if (y == 1)
cout << "YES";
else cout << "NO";
cout << endl;
// dataの中で隣り合う等しい要素が存在するなら"YES"を出力し、そうでなければ"NO"を出力する
}
EX17.cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int N, S;
cin >> N >> S;
vector<int> A(N), P(N);
for (int i = 0; i < N; i++) {
cin >> A.at(i);
}
for (int i = 0; i < N; i++) {
cin >> P.at(i);
}
int X=0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (A.at(i)+P.at(j)==S){X++;}
}
}
cout << X << endl;
// リンゴ・パイナップルをそれぞれ1つずつ購入するとき合計S円になるような買い方が何通りあるか
}
EX18.cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int N, M; //M試合
cin >> N >> M;
vector<int> A(M), B(M);
for (int i = 0; i < M; i++) {
cin >> A.at(i) >> B.at(i);
}
// ここにプログラムを追記
// (ここで"試合結果の表"の2次元配列を宣言)
vector<vector<char>> table(N, vector<char>(N));
for (int i = 0; i < N; i++) {
for (int j = 0; j <N; j++) {
table.at(i).at(j) = '-';
}
}
/* for (int i = 0; i < M; i++) {
table.at(A.at(i)).at(B.at(i)) = 'o';
table.at(B.at(i)).at(A.at(i)) = 'x';
}
*/
for (int i = 0; i < M; i++) {
table.at(A.at(i)-1).at(B.at(i)-1) = 'o';
table.at(B.at(i)-1).at(A.at(i)-1) = 'x';
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cout << table.at(i).at(j);
if (j == N - 1) { cout << endl; }
else
{
cout << " ";
}
}
}
}
EX19.cpp
#include <bits/stdc++.h>
using namespace std;
// 参照渡しを用いて、呼び出し側の変数の値を変更する
constexpr int size = 9;
void saiten(vector<vector<int>> &A, int& correct_count, int& wrong_count/* 呼び出し側に対応するように引数を書く */) {
// 呼び出し側のAの各マスを正しい値に修正する
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
if ((i+1) * (j+1) == A.at(i).at(j))
{
correct_count++;
}
else {
wrong_count++;
}
A.at(i).at(j)=(i+1)*(j+1) ;
}
}
//
//
//
// Aのうち、正しい値の書かれたマスの個数を correct_count に入れる
// Aのうち、誤った値の書かれたマスの個数を wrong_count に入れる
}
// -------------------
// ここから先は変更しない
// -------------------
int main() {
// A君の回答を受け取る
vector<vector<int>> A(9, vector<int>(9));
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
cin >> A.at(i).at(j);
}
}
int correct_count = 0; // ここに正しい値のマスの個数を入れる
int wrong_count = 0; // ここに誤った値のマスの個数を入れる
// A, correct_count, wrong_countを参照渡し
saiten(A, correct_count, wrong_count);
// 正しく修正した表を出力
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
cout << A.at(i).at(j);
if (j < 8) cout << " ";
else cout << endl;
}
}
// 正しいマスの個数を出力
cout << correct_count << endl;
// 誤っているマスの個数を出力
cout << wrong_count << endl;
}
EX20.報告書の枚数
未提出
再帰関数全然わからない