Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

In ký tự liên tiếp trên cùng dòng C++

Cho chuỗi. In các ký tự liên tiếp (theo alphabet) trên cùng một dòng, ngắt dòng khi không liên tiếp. Ví dụ: "abcxstk" → "abc" (dòng 1), "x" (dòng 2), "st" (dòng 3), "k" (dòng 4).

So sánh với ký tự trước

In ký tự đầu. Duyệt từ i=1: nếu str[i] == str[i-1]±1 thì in liên tiếp, ngược lại in '\n' rồi in ký tự.

Ví dụ minh họa

#include <iostream>
#include <string>
using namespace std;

int main() {
    string str = "stukfrpq";
    cout << str[0];
    for (int i = 1; i < str.size(); i++) {
        if (str[i] == str[i-1]+1 || str[i] == str[i-1]-1)
            cout << str[i];
        else
            cout << '\n' << str[i];
    }
    return 0;
}

Kết quả

stu
k
f
r
pq