[C++]白駿107890311652740


10798回縦読み


黒板に貼られた単語が出てきたら、永錫が縦に読む順に印刷プログラムを作成してください.合計5行の入力があります.行ごとに最低1文字、最大15文字が連続しており、スペースはありません.主語は英語の大文字「A」から「Z」、英語の小文字「A」から「Z」、数字「0」から「9」の1つです.各行の先頭と末尾にスペースはありません.

文字列の形式で入力を行ごとに受信し、getline(cin,word[i])の単語の長さを超えなければ垂直に読む.
#include<iostream>
#include<string>

using namespace std;

int main() {

	string word[5];
	
	for (int i = 0; i < 5; i++) {
		getline(cin, word[i]);
	}

	for (int i = 0; i < 15; i++) {

		for (int j = 0; j < 5; j++) {

			if(i<word[j].length())
				cout << word[j].at(i);
		}
	}

}

9093単語を反転


文はタイミングを与えて、単語を全部逆さまに印刷するプログラムを書きます.しかし、単語の順序は変えられない.単語は英語のアルファベットだけで構成されています.第1行は、試験例の個数Tを与える.各テスト例は1行で構成され、文が与えられます.単語の長さは最大20、文の長さは最大1000です.単語と単語の間にスペースがあります.

この問題により、
ユーザ入力を受信するcin,getlineの違いを理解した.
C++にはsplit関数がないので、作成方法を熟知したほうがいいです.
stringstream
文字列で動作するストリームクラス.
クラスオブジェクトは、一連の文字を含む文字列バッファを使用します.文字列から目的のデータ型を抽出するために使用します.
sstreamヘッダファイルを含める必要があります
getline(stringstream, string, delimeter)
stringstreamに区切り文字が表示されます.delimeterはchar資料型で、空白単位で読みたい場合は「」を引数として使えます.
getline(cin, string)
入力を動作単位で受信しstring変数に格納します.開行文字n.また、最初に現れたnも読み取りであり、入力バッファにnが残っている場合は、後の文字列を読み込まないという予期せぬ事態が発生する可能性があるため、cin>>を入力するとgetlineを使用してnを消去する必要があります.
cin
入力をスペース単位で受け入れ、先頭行の文字nの前だけを読みだします.次にcinを再使用して入力を受信すると、入力バッファの残りのnは無視されます.
#include<iostream>
#include<string>
#include<vector>
#include<sstream> 
#include<algorithm>

using namespace std;

vector<string> split(string str, char delimiter);

int main() {

	int n;
	cin >> n;
	vector<vector<string>> vec(n);
	string input;
	
	getline(cin, input);
	//cin로 한번 읽고 난 다음 getline로 읽으면 4를 읽고 \n이 남아있는 상태라서 getline을 한번 더 수행해 줘야 된다. 
	//그 다음부터 getline을 실행해야 원하는 대로 값을 넣을 수 있다. 아니면 처음부터 getline으로 값을 읽어줘도 된다.

	for (int i = 0; i < n; i++) {
		getline(cin, input);
		vec[i] = split(input,' ');
	}

	for (vector<string> strArr: vec) {
		for (string str : strArr) {
			reverse(str.begin(), str.end());
			cout << str<<' ';
		}
		cout << endl;
	}
}

vector<string> split(string input, char delimiter) {
	vector<string> output;
	stringstream ss(input);
	string buffer;

	while (getline(ss, buffer, delimiter)) {

		output.push_back(buffer);
	}

	return output;
}

11655 ROT 13


ROT 13はシーザーパスワードの一種で、13文字の英字でまとめられています.例えば、「BaekjoonオンラインJudge」をROT 13に暗号化すると、「Onrxwbba Bayvar Whqtr」となる.文字列が指定されている場合は、「ROT 13」を使用して出力プログラムを暗号化して作成します.
通常の暗号化方式では、対称鍵の問題(今日はサイバーセキュリティとBlock Chainを落としました)が発生しました.そのため、来学期は学校に行って単位の専門を聞きに行きます...いずれにしても、選択と集中が必要な4年生です.
だいたいAskyコードを検索して、出てきた画像を見て問題を解きました.
#include<iostream>
#include<string>

using namespace std;

int main() {

	//아스키 코드 A~Z 65~90  a~z 97~122

	string input;
	getline(cin, input);

	for (int i = 0; i < input.length(); i++) {

		char c = input[i];
		if (65 <= c && c <= 90) {
			input[i] = 65 + ((c - 65 + 13) % 26);
		}
		else if (97 <= c && c <= 122) {
			input[i] = 97 + ((c - 97 + 13) % 26);
		}
	}
	cout << input;
}

2740行列乗算


N x MサイズのマトリクスAとM x KサイズのマトリクスBが与えられた場合、2つのマトリクスを乗算するプログラムを作成します.
行列の乗算がどうして毎回混同されているのか分からない.学校の授業中に一度か二度会ったことがあるだけでなく、見るたびにグーグルゲームをします.
ソース:https://j1w2k3.tistory.com/575

2つの2 D配列受信入力を作成します.
1番目の入力マトリクス(matris 1)は横方向に移動し、2番目のマトリクス(matris 2)は縦方向に移動し、アクセスの要素を乗じて合計します.合計を結果行列(result)の行列1の行、行列2の列位置に入れます.
#include<iostream>
#include<string>

using namespace std;

int main() {

	int n, m;
	cin >> n >> m;

	int matrix1[100][100];

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < m; j++)
			cin >> matrix1[i][j];
	}

	int k;
	cin >> m >> k;

	int matrix2[100][100];
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < k; j++) {
			cin >> matrix2[i][j];
		}
	}
	
	int result[100][100];

	for (int i = 0; i < n; i++) {

		for (int r = 0; r < k; r++) {

			int sum = 0;
			for (int j = 0; j < m; j++) {

				sum+=matrix1[i][j] * matrix2[j][r];
			}
			result[i][r] = sum;
		}
	}

	for (int i = 0; i < n; i++) {
		for (int j = 0; j < k; j++)
			cout << result[i][j]<<' ';
		cout << endl;
	}

}
こうして一週間以内に青銅を味わった後、銀色の段階に入るつもりで、ブログをアップロードし、学校の拙作にも関心を持った.このように並行して、時間は更に流れました.
2年生の夏休みに思いもよらず弾いたパソコン弓1級ノートがある.2年後、資格試験がありますが、時間はもう過ぎました.2年生の冬休みの時、本当に覚えていたらちょうどいいはずなのに、なんでなかったんだろう?実は予定が入っていれば、パソコンはいらないし、みんなこのまま飛ばしていいんだろうと言っていたので、手放しました.しかし考えれば考えるほど、鶏肋骨自体が感じられるので、まず4月6日に試験日を決めました.その時まで、心の準備をするように努力するかもしれません.
いずれにしても、本番前に自分が勉強できない姿を見て、