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

Chuỗi xen kẽ nguyên âm và phụ âm trong C/C++

Sắp xếp lại chuỗi sao cho nguyên âm và phụ âm xen kẽ nhau, giữ thứ tự tương đối. Không thể thì in "not possible".

Ví dụ

Input: abce -> Output: abec

Thuật toán

1. ĐẾM SỐ NGUYÊN ÂM (nv) VÀ PHỤ ÂM (nc)
2. NẾU |nv-nc| >= 2 -> KHÔNG THỂ
3. NẾU nv > nc: IN NGUYÊN ÂM ĐẦU + XEN KẼ PHỤ ÂM
4. NẾU nc > nv: IN PHỤ ÂM ĐẦU + XEN KẼ NGUYÊN ÂM
5. NẾU BẰNG NHAU: SO SÁNH KÝ TỬ ĐẦU, IN NHỎ HƠN TRƯỚC

Chương trình C++ ví dụ

#include <iostream>
using namespace std;

bool isVowel(char ch) { return ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'; }

string createAltStr(string s1, string s2, int start, int l) {
    string res="";
    for(int i=0,j=start;j=2) return "no such string";
    if(nv>nc) return v[0] + createAltStr(c,v,1,nv);
    if(nc>nv) return c[0] + createAltStr(v,c,1,nc);
    return (c[0]