こんにちは私は本当にC++の新機能ですが、以前はJSとPHPでプログラミングされていました。 文字列を逆にしたいのですが、使用できる唯一の方法はlength()
とat()
です。for loop decrementは機能しません。
私はすでに解決策を持っていますが、変更したいことがありますが、実際には私が実際にやっていることは実際には行っていません。
実際のソリューション:
getline(cin, user_input);
string inverted_user_input = "";
int user_input_length = user_input.length() - 1;
for (int i = user_input_length; i > -1; i--) {
inverted_user_input += user_input.at(i);
}
cout << "The reverse string is: " << inverted_user_input << endl;
私が何をしたい:
getline(cin, user_input);
string inverted_user_input = "";
int user_input_length = user_input.length();
for (int i = user_input_length; i > -1; --i) {
inverted_user_input += user_input.at(i);
}
cout << "The reverse string is: " << inverted_user_input << endl;
私の最初のソリューションの作業罰金が、私はそれがきれいに見えるようにしたいです。
私はすでにlength()
が1で数え始めていることを知っています。なぜ、私は最初のコードで1を引いているのですか?しかし、i--
の代わりに--i
を使用して、最初のコードのような醜い1を避けたいと思います。
私はプロンプトを出すと何かが出て、最初のループでi
をチェックしましたが、それは減少しません。どうして?
(キー制限の追加表示のある)「私が使用できる唯一の方法は、(長さ)及び()の」_うわー!あなたは '+'も使用しています。私の仕事を読んだことで、文字を入れ替えることになっているはずです。 –
'--i'と' i - 'の違いは、' for'ループのインクリメントで実際には関係ありません。これは 'a [i - ]'と 'a [-i]'のようなどこかでのみ重要です。インクリメントは '--i'と' i- 'であるかどうかにかかわらずループの後に実行されます。 –
--iはiを1減らして結果を返します。 私は - 私は戻って、私は1つを減らすことを意味...これは違いを作る理由を解決するために残します – UKMonkey