C++で文字列の先頭と末尾の文字が一致しているか判定するプログラム
文字列が入力として与えられたとき、その文字列の最初の文字と最後の文字が等しいかどうかを判定するのが本記事の目的です。C++を使えば、ごくシンプルなロジックでこの問題を解決できます。
実行例
入力:study 出力:not equal(等しくない) → 先頭の文字は「s」、末尾の文字は「y」のため一致しない 入力:nitin 出力:yes it have first and last equal characters(一致する) → 先頭の文字は「n」、末尾の文字も「n」のため一致する
解決のアプローチ
この問題は、以下の手順で解くことができます。
- 文字列を入力し、string型の変数に格納します。
- length() 関数を使って文字列の長さを求めます。
- 文字列の先頭要素と末尾要素を比較し、等しければ 1 を、等しくなければ 0 を返します。長さが2未満の場合は -1 を返して無効な入力として扱います。
- 結果に応じてメッセージを出力します。
アルゴリズム
Start Step 1-> 先頭と末尾の文字が等しいか判定する関数を宣言 int check(string str) int len = str.length() を設定 IF (len < 2) return -1 End If (str[0] == str[len - 1]) return 1 End Else return 0 End Step 2-> Int main() string str = "tutorialsPoint" を宣言 int temp = check(str) を設定 If (temp == -1) 「enter valid input」を出力 End Else if (temp == 1) 「yes it have first and last equal characters」を出力 End Else 「Not equal」を出力 Stop
C++での実装例
実際のコードは次のようになります。
#include<iostream>
using namespace std;
// 先頭と末尾の文字が等しいかどうかを判定する関数
int check(string str) {
int len = str.length();
if (len < 2)
return -1;
if (str[0] == str[len - 1])
return 1;
else
return 0;
}
int main() {
string str = "tutorialsPoint";
int temp = check(str);
if (temp == -1)
cout<<"enter valid input";
else if (temp == 1)
cout<<"yes it have first and last equal characters";
else
cout<<"Not equal";
}出力結果
上記のコードを実行すると、次の出力が生成されます。
yes it have first and last equal characters
コードのポイント
このプログラムでは、str[0] で先頭の文字を、str[len - 1] で末尾の文字を参照しています。インデックスは0から始まるため、末尾の文字にアクセスするには「長さ - 1」を指定する点に注意しましょう。また、空文字列や1文字のみの文字列を渡された場合に備え、長さが2未満なら -1 を返すことでエラー処理も行っています。
-
初心者向け:最初のC++プログラムの書き方をステップごとに解説
C++のプログラミング学習を始めようと決めたものの、何から手をつければよいかわからない——そんな初心者の方に向けて、最初のC++プログラムを作成し、実行するまでの流れをわかりやすく解説します。 ステップ1:C++コンパイラを入手する まず最初に行うべきは、C++コンパイラの準備です。主要なOS(Windows・macOS・Linux)向けに、無料で高品質なC++コンパイラが公開されています。自分の環境に合ったものをダウンロードしてインストールしましょう。また、インストールの手間を省きたい場合は、tutorialspoint.comが提供するオンラインコンパイラ(https://www.tuto
-
【Python入門】文字列の最初の2文字と最後の2文字を組み合わせて新しい文字列を作る方法
Pythonでは、指定した文字列の先頭2文字と末尾2文字を取り出して、それらをつなげた新しい文字列を簡単に作成できます。この処理には、カウンター変数を定義して文字列の長さを求め、インデックス(添字)を使って特定範囲の要素にアクセスする方法が使えます。以下に具体的な実装例を示します。サンプルコードmy_string = Hi there how are you my_counter = 0 for i in my_string: my_counter = my_counter + 1 new_string = my_string[0:2] + my_string[my_counter