Computer >> Máy Tính >  >> Lập trình >> C ++

In các ký tự liên tiếp cùng nhau trong một dòng trong C ++


Trong bài toán này, chúng ta được cung cấp một chuỗi ký tự và chúng ta phải in cùng một chuỗi sao cho nếu hai hoặc nhiều ký tự liên tiếp thì in chúng cùng nhau trong một dòng duy nhất nếu không, hãy in chúng ở các dòng khác nhau, tức là có dấu ngắt dòng.

Hãy lấy một ví dụ để hiểu rõ hơn về khái niệm này,

Input : abcxstk
Output :
abc
x
st
k

Giải thích - Kể từ abc theo một trình tự, chúng được in trên một dòng. Sau đó đến x không theo thứ tự, vì vậy chúng tôi thêm dấu ngắt dòng ở đây. Tiếp theo là s không phải là dãy với x nên chúng ta thêm dấu ngắt dòng. Tiếp theo là t nằm trong dãy với s nên được in theo thứ tự. Tiếp theo là k không theo thứ tự với t nên chúng ta thêm dấu ngắt dòng.

Ở đây, chúng ta sẽ kiểm tra một phần tử với phần tử trước của nó trong chuỗi. Nếu chúng theo thứ tự thì in bình thường. Nếu không, hãy in phần tử có ngắt dòng.

Ví dụ

Bây giờ, hãy tạo một chương trình dựa trên logic này

#include <iostream>
using namespace std;
int main(){
   string str = "stukfrpq";
   cout << str[0];
   for (int i=1; str[i]!='\0'; i++){
      if ((str[i] == str[i-1]+1) || (str[i] == str[i-1]-1))
         cout << str[i];
      else
         cout << "\n" << str[i];;
   }
   return 0;
}

Đầu ra

stu
k
f
r
pq