4270 - F Concat: Difference between revisions

From Bitnami MediaWiki
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"...
 
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)
  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.