C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

文字列の文字をC++で大文字と小文字を逆に変換する


任意の長さの文字列が与えられます。タスクは、大文字の文字列を小文字に変換し、小文字を大文字に変換することです。

入力 − string str =”ようこそサイトへ!”

出力 −サイトへようこそ!

説明 − W、T、T、Sの文字を小文字に、e、l、c、o、m、e、o ,, i、t、eの文字を大文字に変換し、特殊文字に対する操作は実行しません。

入力 − string str =” HELLO”

出力 −こんにちは

説明 −文字H、E、L、L、Eを小文字に変換しました。

これは、2つの異なるアプローチを使用して実行できます

  • C ++が提供する組み込み関数を使用して、これらの操作とそれらのaretoLowerCase(char)およびtoUpperCase(char)を実行します。

  • 以下のプログラムで実装しているロジックを介して。

以下のプログラムで使用されているアプローチは次のとおりです

  • 任意の長さの文字列を入力してください

  • スペースを含む文字列内の文字数に応じて整数値を返すlength()関数を使用して、文字列の長さを計算します。

  • 大文字[A-Z]のASCII値は65から90で始まり、小文字[a-z]は97から122で始まります。

  • 文字列内の各文字を比較するループを開始します。文字が大文字の場合は32を加算して小文字に変換し、文字が小文字の場合は32を減算して大文字に変換します。

  • 文字列を印刷します。

#include<iostream>
using namespace std;
void Convert_case(string &str){
   //calculate the length of a string
   int len = str.length();
   //converting lowercase to uppercase and vice versa
   for (int i=0; i<len; i++){
      if (str[i]>='a' && str[i]<='z'){
         str[i] = str[i] - 32;
      }
      else if(str[i]>='A' && str[i]<='Z'){
         str[i] = str[i] + 32;
      }
   }
}
int main(){
   string str = "What’s Your Name?";
   cout<<"String before conversion is: "<<str;
   Convert_case(str);
   cout<<"\nString after conversion is: "<<str;
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

String before conversion is − What’s Your Name?
String after conversion is &mius; wHAT’S yOUR nAME?

  1. Javaで文字列を文字のリストに変換する

    以下が私たちの文字列だとしましょう- String str = "Website!"; 次に、上記の文字列を文字のリストに変換します- List<Character>list = str.chars().mapToObj(n -> (char)n).collect(Collectors.toList()); 例 以下は、Javaで文字列を文字のリストに変換するプログラムです- import java.util.*; import java.util.stream.Collectors; public class Demo {    

  2. Javaで文字のリストを文字列に変換する

    以下が私たちのキャラクターのリストだとしましょう- List<Character> list = Arrays.asList('W', 'e', 'l', 'c', 'o', 'm', 'e'); 文字のリストを文字列に変換します- String string = list.stream().map(String::valueOf).collect(Collectors.joining()); 例 以下は、Javaで文字のリストを文字列に変換するプログラムです- im