Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 연속 문자를 한 줄에 함께 인쇄


이 문제에서는 일련의 문자가 주어지고 두 개 이상의 문자가 연속적이면 한 줄에 함께 인쇄하는 방식으로 동일한 문자열을 인쇄해야 합니다. 그렇지 않으면 줄 바꿈을 사용하여 다른 줄로 인쇄하십시오.

개념을 더 잘 이해할 수 있도록 예를 들어 보겠습니다.

Input : abcxstk
Output :
abc
x
st
k

설명abc 이후 순서대로 한 줄에 인쇄됩니다. 그런 다음 순서가 아닌 x가 나오므로 여기에 줄 바꿈을 추가합니다. 다음은 x가 있는 시퀀스가 ​​아닌 s이므로 줄 바꿈을 추가합니다. 다음은 s가 순서대로 인쇄되어 있는 t입니다. 다음은 k가 t와 순서가 다르므로 줄 바꿈을 추가합니다.

여기에서 문자열에서 이전 요소가 있는 요소를 확인합니다. 순서대로 있으면 정상적으로 인쇄합니다. 그렇지 않으면 줄 바꿈으로 요소를 인쇄합니다.

예시

이제 이 논리를 기반으로 프로그램을 작성해 보겠습니다.

#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;
}

출력

stu
k
f
r
pq