在C ++中将一行中的连续字符一起打印

在这个问题中,我们给了一个字符串,我们必须以这样的方式打印相同的字符串:如果两个或多个字符是连续的,则将它们一起打印在一行中,否则将它们打印在不同的行中,即换行。

让我们举个例子来更好地理解这个概念,

Input : abcxstk
Output :
abc
x
st
k

说明-由于abc是按顺序排列的,因此它们以一行打印。然后是x,它不按顺序排列,因此我们在此处添加换行符。接下来是s,它不是x的序列,因此我们添加了一个换行符。接下来是t,它与s依序打印。接下来是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