4270 - F Concat

De la Universitas 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

Intrare
abcde
XYZ
Ieșire
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

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
    """
    s += d
    print("Rezultat: ", s)


# Program de testare
if __name__ == '__main__':
    s = input("Introduceti primul sir: ")
    d = input("Introduceti al doilea sir: ")
    if not validate_input(s, d):
        print("Datele de intrare nu corespund restrictiilor impuse.")
    else:
        print("Datele de intrare corespund restrictiilor impuse.")
        FConcat(s, d)

Explicație

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.