4104 - afisare21: Diferență între versiuni
De la Universitas MediaWiki
Fără descriere a modificării |
|||
Linia 99: | Linia 99: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicație rezolvare== | == Explicație rezolvare== | ||
Acest | Acest cod conține două funcții: '''afis_el_din_vect_x_mai_mici_decat_toate_el_din_y''' și '''citire_conform_restrictiilor()''''.<br> Funcția afis_el_din_vect_x_mai_mici_decat_toate_el_din_y primește patru parametri:<br>-> n: numărul de elemente din vectorul x<br>-> x: vectorul x<br>-> m: numărul de elemente din vectorul y<br>-> y: vectorul y<br> Funcția are următorul comportament:<br>-> Inițializează variabila minim cu o valoare mare și variabila exista cu valoarea False.<br>-> Parcurge vectorul y și găsește valoarea minimă din acesta. Valoarea minimă o stochează în variabila minim.<br>-> Parcurge vectorul x și afișează elementele din acesta care sunt mai mici decât minim. Dacă există cel puțin un astfel de element, variabila exista devine True.<br>-> Dacă nu există niciun element din vectorul x mai mic decât toate elementele din vectorul y, se afișează mesajul "NU EXISTA".<br> Funcția citire_conform_restrictiilor primește inputul conform restricțiilor impuse, afișează un mesaj corespunzător și returnează o tuplă cu valorile n, x, m și y. Dacă inputul nu corespunde restricțiilor impuse, afișează un mesaj corespunzător și se oprește execuția programului prin apelarea funcției exit(). |
Versiunea de la data 31 martie 2023 18:02
Sursa: - afisare21
Cerinţa
Se dă un vector x cu n elemente numere întregi, și un vector y cu m elemente, de asemenea numere întregi. Să se afișeze toate elementele din vectorul x care sunt mai mici decât toate elementele din vectorul y.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale vectorului x. Apoi și citește m și cele m elemente ale lui y.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi pe un rând nou va afișa elementele din vectorul x care sunt mai mici decât toate elementele din vectorul y, sau NU EXISTA dacă vectorul x nu conține astfel de elemente. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".
Restricţii şi precizări
- 1 ⩽ n, m ⩽ 10.000
- elementele celor 2 vectori vor fi din intervalul [-1.000.000.000,1.000.000.000]
Exemple
Exemplul 1
- Intrare
- 7
- 9 -6 5 14 2 1 10
- 8
- 8 14 9 14 16 15 4 6
- Ieșire
- Datele sunt introduse corect.
- -6 2 1
Exemplul 2
- Intrare
- 7
- 1 2 3 4
- Ieșire
- Datele nu corespund restricțiilor impuse.
Rezolvare
# 4104
def afis_el_din_vect_x_mai_mici_decat_toate_el_din_y(n, x, m, y):
minim = 1000000001
exista = False
for i in range(m):
if y[i] < minim:
minim = y[i]
for i in range(n):
advevarat = True
if x[i] > minim:
advevarat = False
if advevarat:
exista = True
print(x[i], end=" ")
if not exista:
print("NU EXISTA")
def citire_conform_restrictiilor():
n = int(input())
x = list(map(int, input().split()))
if n != len(x):
print("Datele nu corespund restricțiilor impuse.")
exit()
m = int(input())
y = list(map(int, input().split()))
if m != len(y):
print("Datele nu corespund restricțiilor impuse.1")
exit()
for element in x:
if element < -1000000000 or element > 1000000000:
print("Datele nu corespund restricțiilor impuse.3")
exit()
for element in y:
if element < -1000000000 or element > 1000000000:
print("Datele nu corespund restricțiilor impuse.4")
exit()
if n < 1 or n > 10000:
print("Datele nu corespund restricțiilor impuse.1")
exit()
if m < 1 or m > 10000:
print("Datele nu corespund restricțiilor impuse.1")
exit()
print("Datele sunt introduse corect.")
return n, x, m, y
if __name__ == '__main__':
n, x, m, y = citire_conform_restrictiilor()
afis_el_din_vect_x_mai_mici_decat_toate_el_din_y(n, x, m, y)
Explicație rezolvare
Acest cod conține două funcții: afis_el_din_vect_x_mai_mici_decat_toate_el_din_y și citire_conform_restrictiilor()'.
Funcția afis_el_din_vect_x_mai_mici_decat_toate_el_din_y primește patru parametri:
-> n: numărul de elemente din vectorul x
-> x: vectorul x
-> m: numărul de elemente din vectorul y
-> y: vectorul y
Funcția are următorul comportament:
-> Inițializează variabila minim cu o valoare mare și variabila exista cu valoarea False.
-> Parcurge vectorul y și găsește valoarea minimă din acesta. Valoarea minimă o stochează în variabila minim.
-> Parcurge vectorul x și afișează elementele din acesta care sunt mai mici decât minim. Dacă există cel puțin un astfel de element, variabila exista devine True.
-> Dacă nu există niciun element din vectorul x mai mic decât toate elementele din vectorul y, se afișează mesajul "NU EXISTA".
Funcția citire_conform_restrictiilor primește inputul conform restricțiilor impuse, afișează un mesaj corespunzător și returnează o tuplă cu valorile n, x, m și y. Dacă inputul nu corespunde restricțiilor impuse, afișează un mesaj corespunzător și se oprește execuția programului prin apelarea funcției exit().