4270 - F Concat

From Bitnami MediaWiki

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

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.