4270 - F Concat
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
- Un șir de caractere "s" - reprezentând primul șir
- Un șir de caractere "d" - reprezentând al doilea șir
Date de ieșire
- 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.
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
Dacă s = abcde și d = XYZ, atunci după apelul FConcat(s, d), șirul s va deveni s = 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 """ if not validate_input(s, d): print("Input invalid!") return s += d print("Rezultat: ", s)
- Program de testare
def main():
s = input("Introduceti primul sir: ") d = input("Introduceti al doilea sir: ") FConcat(s, d)
if __name__ == '__main__':
main()
</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.