Saitlərin ikiqat yazılması#8990

Saitlərin ikiqat yazılması (Həll təhlili)

Göstərici -i başlanğıc simvol massivi -ə və göstərici -i nəticə simvol massivi -ə göstərərək, onlara başlanğıc dəyəri i = j = 0 verərək təyin edək. Əgər hər hansı bir sətirinin hərfi sait deyilsə, -ni -ə köçürək və göstərici -i bir mövqeyə irəli aparaq. Əgər saitdirsə, onu nəticə sətirinin sonuna iki dəfə əlavə edək, sonra isə iki mövqeyə qədər artar.

Alqoritmin realizasiyası

Giriş simvol massivini və nəticəni ilə təyin edək.

char s[1001], t[2001];

Giriş sətirini oxuyuruq.

gets(s);

Simvol -i -ə köçürdükdən sonra indeks -i artırırıq. Əgər saitdirsə, onu massivinə iki dəfə əlavə edirik.

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];

Nəticə sətirinin sonuna onu bitirmək üçün sıfır bayt yazırıq.

t[j] = 0;

Nəticəni göstəririk.

puts(t);

Alqoritmin realizasiyası — C++

Giriş sətirini oxuyuruq.

getline(cin, s);

Nəticəni saxlayacaq boş sətirini ilkləndiririk.

res = "";

sətirinin simvollarını keçiririk.

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

Simvolu -ə əlavə edirik.

  res = res + s[i];

Əgər saitdirsə, onu bir daha -ə əlavə edirik.

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

Cavabı göstəririk.

cout << res;

Java realizasiyası

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 realizasiyası

Giriş sətirini oxuyuruq.

s = input()

Nəticəni saxlayacaq boş sətirini ilkləndiririk.

res = ""

sətirinin simvollarını keçiririk.

for ch in s:

Simvolu -ə əlavə edirik.

  res += ch

Əgər saitdirsə, onu bir daha -ə əlavə edirik.

  if ch in "aeiouy":
    res += ch

Cavabı göstəririk.

print(res)