4270 - F Concat: Difference between revisions
Cuceu Andrei (talk | contribs) Pagină nouă: == 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"... |
Vardai Erwin (talk | contribs) |
||
Line 7: | Line 7: | ||
==Date de intrare== | ==Date de intrare== | ||
Se citesc: | |||
*Un șir de caractere "s" - reprezentând primul șir | *Un șir de caractere "s" - reprezentând primul șir | ||
*Un șir de caractere "d" - reprezentând al doilea șir | *Un șir de caractere "d" - reprezentând al doilea șir |
Revision as of 18:26, 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
- 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.