Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
2794 - Codificare
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Cerința== Fiind dat un cuvânt s, format numai din litere, și un cod c, de aceeași lungime cu s, format numai din cifre, numim codificare a lui s pe baza codului c operația de construire a unui nou șir, în care inițial se copiază prima literă din s, apoi, parcurgând de la stânga la dreapta restul șirului s, se adaugă litera curentă la începutul noului șir, dacă cifra corespunzătoare de pe aceeași poziție în c este pară, sau la finalul noului șir, în caz contrar. Scrieţi un program care citește de la tastatură, de pe linii diferite, două cuvinte, notate cu s și c, fiecare având cel mult 100 de caractere, s fiind format doar din litere mici ale alfabetului englez, iar c fiind format doar din cifre. Programul construiește în memorie și afișează pe ecran cuvântul obținut prin codificarea lui s pe baza lui c, dacă cele două cuvinte au aceeași lungime, sau mesajul cod incorect, în caz contrar. ==Date de intrare== Programul citește de la tastatură, de pe linii diferite, cele două cuvinte s și c ==Date de ieșire== ==Restricții și precizări== *cuvintele citite au cel mult 100 de caractere; ==Exemplul 1== ;Intrare :etalon :025843 ;Ieșire :Datele de intrare corespund restricțiilor impuse. :oltean ==Exemplul 2== ;Intrare :vapor :0 ;Ieșire :Datele de intrare nu corespund restricțiilor impuse. :cod incorect ==Rezolvare== <syntaxhighlight lang="python" line="1"> #2794 - Codificare def codificare(s, c): if len(s) != len(c): # verifică dacă cele două șiruri au aceeași lungime return "cod incorect" # în cazul în care lungimea nu e aceeași, returnează mesajul codificat = s[0] # începe cu primul caracter for i in range(1, len(s)): if int(c[i]) % 2 == 0: # dacă c[i] este par codificat = s[i] + codificat # adaugă s[i] înaintea primului caracter din codificat else: codificat += s[i] # adaugă s[i] după ultimul caracter din codificat return codificat if __name__ == '__main__': s = input().strip() # citește primul șir de caractere c = input().strip() # citește al doilea șir de caractere if len(s) <= 100 and len(c) <= 100: # verifică dacă șirurile au lungimea mai mică sau egală cu 100 print("Datele de intrare corespund restricțiilor impuse.") print(codificare(s, c)) # aplică funcția codificare pe cele două șiruri și afișează rezultatul else: print("Datele de intrare nu corespund restricțiilor impuse.") </syntaxhighlight>
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width