2582 - Secv Elim: Difference between revisions

From Bitnami MediaWiki
Andrada378 (talk | contribs)
No edit summary
Tag: visualeditor
Andrada378 (talk | contribs)
Tag: visualeditor
 
Line 28: Line 28:
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
def elimina_duplicate_consecutive(s):
def elimina_duplicate_consecutive(s):
    if len(s) > 255:
        print("Eroare: Lungimea șirului depășește 255 de caractere.")
        return None
     i = 0
     i = 0


Line 41: Line 45:


     return s
     return s
input_str = input()
if __name__ == "__main__":
print(elimina_duplicate_consecutive(input_str))
    input_str = input("Introduceți șirul: ")
    result = elimina_duplicate_consecutive(input_str)
    if result is not None:
        print(result)
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 16:53, 4 January 2024

Cerința[edit]

Se dă un șir de caractere care conține doar litere mici și mari ale alfabetului englez. Se parcurge șirul de la stânga la dreapta și dacă se întâlnește o secvență de litere alăturate egale, se șterge. Dacă în urma acestei operații se obține o nouă secvență de litere egale, se șterge și ea, ș. a. m. d.

Să se afișeze șirul obținut.

Date de intrare[edit]

Programul citește de la tastatură un șir de caractere.

Date de iesire[edit]

Programul va afișa pe ecran șirul obținut.

Restricții și precizări[edit]

  • șirul dat conține maximum 255 de caractere
  • nu se face diferență între literele mari și mici.

Exemplu[edit]

Intrare

aAcboOoBcAXa

Ieșire

AXa

Rezolvare[edit]

<syntaxhighlight lang="python"> def elimina_duplicate_consecutive(s):

   if len(s) > 255:
       print("Eroare: Lungimea șirului depășește 255 de caractere.")
       return None
   i = 0
   while i < len(s) - 1:
       if s[i].lower() == s[i + 1].lower():
           c = s[i].lower()
           j = i + 1
           while j < len(s) and s[j].lower() == c:
               j += 1
           s = s[:i] + s[j:]
           i = -1
       i += 1
   return s

if __name__ == "__main__":

   input_str = input("Introduceți șirul: ")
   result = elimina_duplicate_consecutive(input_str)
   if result is not None:
       print(result)

</syntaxhighlight>