Подвоєння голосних#8990

Подвоєння голосних (Розбір)

Оголосимо вказівник на початок вихідного символьного масиву та вказівник на початок результативного символьного масиву , присвоївши їм початкове значення i = j = 0. Для кожної літери рядка , яка не є голосною, копіюємо в та переміщуємо вказівник на одну позицію вперед. Якщо літера є голосною, додаємо її двічі в кінець рядка , після чого збільшується на дві позиції.

Реалізація алгоритму

Оголосимо вхідний символьний масив та результативний .

char s[1001], t[2001];

Читаємо вхідний рядок.

gets(s);

Символ копіюємо в та збільшуємо індекс на . Якщо є голосною, додаємо її у масив двічі.

int j = 0;
for (int i = 0; i < strlen(s); i++)
  if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || 
      s[i] == 'u' || s[i] == 'y')
  {
    t[j++] = s[i];
    t[j++] = s[i];
  }
  else 
    t[j++] = s[i];

Наприкінці результативного рядка записуємо нульовий байт для вказання її закінчення.

t[j] = 0;

Виводимо результат.

puts(t);

Реалізація алгоритму — C++

Читаємо вхідний рядок.

getline(cin, s);

Ініціалізуємо порожній рядок , який міститиме результат.

res = "";

Перебираємо символи рядка .

for (i = 0; i < s.size(); i++)
{

Додаємо символ в .

  res = res + s[i];

Якщо є голосною, додаємо її в ще раз.

  if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' || 
      s[i] == 'u' || s[i] == 'y')
    res = res + s[i];
}

Виводимо відповідь.

cout << res;

Java реалізація

import java.util.*;

public class Main
{
  public static void main(String[] args)
  {
    Scanner con = new Scanner(System.in); 
    String s = con.nextLine();
    String res = "";
    for(int i = 0; i < s.length(); i++)
      if (s.charAt(i) == 'a' || s.charAt(i) == 'e' || 
          s.charAt(i) == 'i' || s.charAt(i) == 'o' || 
          s.charAt(i) == 'u' || s.charAt(i) == 'y' ) 
        res = res + s.charAt(i) + s.charAt(i);
      else 
        res = res + s.charAt(i);
    System.out.println(res);
    con.close();
  }
}

Python реалізація

Читаємо вхідний рядок.

s = input()

Ініціалізуємо порожній рядок , який міститиме результат.

res = ""

Перебираємо символи рядка .

for ch in s:

Додаємо символ в .

  res += ch

Якщо є голосною, додаємо її в ще раз.

  if ch in "aeiouy":
    res += ch

Виводимо відповідь.

print(res)