4270 - F Concat

From Bitnami MediaWiki
Revision as of 19:08, 30 April 2023 by 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"...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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)
  1. 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.