2582 - Secv Elim: Difference between revisions

From Bitnami MediaWiki
Andrada378 (talk | contribs)
No edit summary
Andrada378 (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 27: Line 27:
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python">
<syntaxhighlight lang="python">
s = input()
def elimina_duplicate_consecutive(s):
i = 0
    if len(s) > 255:
        print("Eroare: Lungimea șirului depășește 255 de caractere.")
        return None


while i < len(s) - 1:
     i = 0
    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


print(s)
    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>
</syntaxhighlight>

Latest revision as of 16:53, 4 January 2024

Cerința[edit | edit source]

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 | edit source]

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

Date de iesire[edit | edit source]

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

Restricții și precizări[edit | edit source]

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

Exemplu[edit | edit source]

Intrare

aAcboOoBcAXa

Ieșire

AXa

Rezolvare[edit | edit source]

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