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

カンマ区切りの文字列から整数を取り出すC++プログラム


コンマで区切られた整数がほとんどない文字列があるとします。それらを分離し、各整数を異なる行に表示する必要があります。これを行うには、C ++でstringstream(sstreamライブラリの下)を使用します。これは、C++に存在する1つの文字列ベースのストリームクラスです。抽出演算子(<<)を使用して何かを抽出し、挿入演算子(>>)を使用して何かを挿入し、str()関数を使用して基になる文字列デバイスオブジェクトのコンテンツを設定できます。

したがって、入力がs ="56,9,85,256,47"の場合、出力は

になります。
56
9
85
256
47

これを解決するには、次の手順に従います-

  • 配列take_int(string str)

    を定義します
    • ssと呼ばれる1つのstringstreamオブジェクトを作成します

    • 配列結果を定義する

    • ssからtempに取り込まれた新しい整数項目はnullではありませんが、次のようにします。

      • 結果の最後にtmpを挿入します

      • 1文字を取り出してカンマ文字をスキップする

    • 結果を返す

  • メインの方法から、次の手順を実行します。

  • 配列整数を定義する=take_int(s)

  • 初期化i:=0の場合、i <整数のサイズの場合、更新(iを1増やします)、次のようにします。

    • 整数を表示[i]

理解を深めるために、次の実装を見てみましょう-

#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
vector<int> take_int(string str) {
    stringstream ss(str);
    vector<int> result;
    char ch;
    int tmp;
    while(ss >> tmp) {
        result.push_back(tmp);
        ss >> ch;
    }
    return result;
}
int main(){
    string s = "56,9,85,256,47";
    vector<int> integers = take_int(s);
    for(int i = 0; i < integers.size(); i++)
        cout << integers[i] << "\n";
}

入力

56,9,85,256,47

出力

56
9
85
256
47

  1. 整数の数字をズームするC++プログラム

    このプログラムでは、C++で整数の数字をズームする方法を説明します。ズームとは、他の文字を使用して数字をより大きな形式で印刷することを意味します。ロジックは単純ですが、0から9まで1つずつ大きな数字を作成する必要があります。 サンプルコード #include <bits/stdc++.h> using namespace std; void print_zero() {    for (int i=0; i<5; i++) {       for (int j=0; j<5; j++) {     &

  2. 文字列のリストをカンマ区切りの文字列に変換するJavaプログラム

    この記事では、文字列のリストをカンマ区切りの文字列に変換する方法を理解します。 Alistは、要素を順番に保存してアクセスできるようにする順序付けられたコレクションです。これには、要素を挿入、更新、削除、および検索するためのインデックスベースのメソッドが含まれています。重複する要素を持つこともできます。 以下は同じのデモンストレーションです- 入力がであると仮定します − Input list: [Java, Scala, Python] 必要な出力は − The list with comma separated elements: Java, Scala, Python アルゴリ