0104 - Eliminare Perechi Vocale

From Bitnami MediaWiki

Cerinţa[edit | edit source]

Să se scrie un program care citeşte de la tastatură un şir de caractere şi elimină din şir toate perechile de vocale consecutive.

Date de intrare[edit | edit source]

Programul citeşte de la tastatură un şir de cel mult 255 caractere.

Date de ieșire[edit | edit source]

Programul afişează pe ecran şirul obţinut prin eliminarea perechilor de vocale consecutive.

Restricţii şi precizări[edit | edit source]

  • se consideră vocale caracterele din mulțimea {a,e,i,o,u}
  • şirul de caractere citit este alcătuit din litere mici ale alfabetului englez şi spaţii


Exemplul 1[edit | edit source]

Intrare
aceasta familie are doua case 
Iesire
Datele de intrare corespund restrictiilor impuse
acsta famil are d case

Exemplu 2[edit | edit source]

Intrare
ACEASTAFAMILIEAREDOUACASE
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def main():

   # Citirea șirului de caractere
   sir = input("Introduceti sirul de caractere: ")
   # Verificarea lungimii șirului
   if len(sir) > 255:
       print("Datele de intrare nu corespund restrictiilor impuse")
       return
   # Inițializarea șirului de ieșire
   sir_iesire = ""
   # Inițializarea setului de vocale
   vocale = set("aeiou")
   # Iterarea prin șirul de intrare și eliminarea perechilor de vocale consecutive
   for i in range(len(sir)):
       if i > 0 and sir[i-1] in vocale and sir[i] in vocale:
           continue
       sir_iesire += sir[i]
   print("Datele de intrare corespund restrictiilor impuse")
   print(sir_iesire)


if __name__ == "__main__":

   main()

</syntaxhighlight>