4270 - F Concat: Difference between revisions
Vardai Erwin (talk | contribs) |
Vardai Erwin (talk | contribs) |
||
Line 48: | Line 48: | ||
return False | return False | ||
return True | return True | ||
def FConcat(s, d): | def FConcat(s, d): | ||
Line 55: | Line 56: | ||
:param d: al doilea șir de caractere | :param d: al doilea șir de caractere | ||
""" | """ | ||
s += d | s += d | ||
print("Rezultat: ", s) | print("Rezultat: ", s) | ||
# Program de testare | # Program de testare | ||
Line 65: | Line 64: | ||
s = input("Introduceti primul sir: ") | s = input("Introduceti primul sir: ") | ||
d = input("Introduceti al doilea sir: ") | d = input("Introduceti al doilea sir: ") | ||
FConcat(s, d) | if not validate_input(s, d): | ||
print("Datele de intrare nu corespund restrictiilor impuse.") | |||
else: | |||
print("Datele de intrare corespund restrictiilor impuse.") | |||
FConcat(s, d) | |||
Revision as of 18:29, 6 May 2023
Cerință
Scrieți funcția cu următorul antet:
void FConcat(char s[], char d[])
Funcția primește ca parametri două șiruri de caractere și adaugă caracterele din d la sfârșitul lui s.
Date de intrare
Se citesc:
- Un șir de caractere "s" - reprezentând primul șir
- Un șir de caractere "d" - reprezentând al doilea șir
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse.". Nicio valoare nu este returnată, dar șirul "s" este modificat astfel încât să conțină și caracterele din șirul "d" la sfârșit. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări
- Este garantat că vor încăpea în s toate caracterele din d.
- Nu puteți utiliza funcțiile pentru șirurile de caractere din biblioteca cstring
Exemplu
Exemplul 1
- Intrare
- abcde
- XYZ
- Ieșire
- abcdeXYZ.
Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Rezolvare
Rezolvare var. 1
<syntaxhighlight lang="python" line="1" start="1">
def validate_input(s, d):
""" Verifică dacă cele două șiruri de caractere primite ca parametri sunt valide :param s: primul șir de caractere :param d: al doilea șir de caractere :return: True dacă ambele șiruri sunt valide, False în caz contrar """ if not isinstance(s, str) or not isinstance(d, str): return False if len(s) == 0 or len(d) == 0: return False return True
def FConcat(s, d):
""" Adaugă caracterele din d la sfârșitul lui s :param s: primul șir de caractere :param d: al doilea șir de caractere """ s += d print("Rezultat: ", s)
- Program de testare
if __name__ == '__main__':
s = input("Introduceti primul sir: ") d = input("Introduceti al doilea sir: ") if not validate_input(s, d): print("Datele de intrare nu corespund restrictiilor impuse.") else: print("Datele de intrare corespund restrictiilor impuse.") FConcat(s, d)
</syntaxhighlight>
Explicatie
Codul Python de mai sus definește o funcție de validare validate_input și o funcție principală FConcat care primește doi parametri: s și d, care reprezintă două șiruri de caractere. Funcția validate_input verifică dacă cele două șiruri primite sunt de tipul str și dacă au o lungime mai mare de 0, returnând True dacă ambele condiții sunt adevărate și False în caz contrar.
Funcția FConcat apelează mai întâi funcția validate_input pentru a verifica dacă cele două șiruri primite sunt valide. Dacă acestea sunt invalide, funcția afișează un mesaj corespunzător. În caz contrar, funcția concatenează șirul d la sfârșitul șirului s, utilizând operatorul += și afișează rezultatul obținut.
În final, am adăugat și o funcție main, care citește cele două șiruri de la tastatură și apelează funcția FConcat cu parametrii citiți.