0040 – Vector Max Min Sum
Sursa: Vector Max Min Sum
Cerinţă[edit | edit source]
Se dă un șir cu n
elemente întregi. Să se afișeze valoarea minimă, valoarea maximă și suma elementelor șirului.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n
, iar apoi n
numere întregi, separate prin spații.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele introduse sunt corecte!", apoi se vor afișa minimul, maximul și suma tuturor elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul "Datele introduse nu sunt corecte!".
Restricţii şi precizări[edit | edit source]
- 1 <= n <= 100
- valorile elementelor șirului vor fi < 1.000.000
Exemple[edit | edit source]
Exemplul 1[edit | edit source]
- Intrare
- Introduceti numarul de elemente: 5
- ntroduceti 5 numere separate prin spatiu:12 13 121 312 3
- Ieșire
- Datele introduse sunt corecte!
- mini: 3 maxi: 312 sum: 461
Exemplul 2[edit | edit source]
- Intrare
- Introduceti numarul de elemente: 12345
- Ieșire
- Datele introduse sunt incorecte!
Exemplul 3[edit | edit source]
- Intrare
- Introduceti numarul de elemente: 5
- Introduceti 5 numere separate prin spatiu:1 1 1 1 1
- Ieșire
- Datele introduse sunt corecte!
- mini: 1 maxi: 1 sum: 5
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1"> def is_integer(value):
return value.isdigit()
def verificare_nr_elemente(n):
if is_integer(n): if 0 <= int(n) <= 100: return n else: print("Datele introduse sunt incorecte!") exit() else: print("Datele introduse sunt incorecte!") exit()
def verificare_vector(n, vector):
if len(vector) != int(n): print("Datele introduse sunt incorecte!") exit() else: for i in vector: if is_integer(i): if int(i) <= 10000: continue else: print("Datele introduse sunt incorecte!") exit() else: print("Datele introduse sunt incorecte!") exit()
def min_max_sum(vector):
mini = 100000000 maxi = 0 sum = 0 for elem in vector: if elem < mini: mini = elem if elem > maxi: maxi = elem sum += elem print("mini:", mini, "maxi:", maxi, "sum:", sum)
if __name__ == '__main__':
n = input("Introduceti numarul de elemente: ") verificare_nr_elemente(n) elem = input(f"Introduceti {n} numere separate prin spatiu:").split() verificare_vector(n, elem) lst_int = list(map(int, elem)) print("Datele introduse sunt corecte!") min_max_sum(lst_int)
</syntaxhighlight>
Explicație rezolvare[edit | edit source]
Acest program primește un șir de n
numere întregi, verifică validitatea datelor introduse și apoi calculează și afișează valoarea minimă, valoarea maximă și suma elementelor din vector. Iată o explicație pas cu pas a programului:
- Verifică dacă
n
, numărul de elemente, este întreg și între 0 și 100. - Verifică dacă șirul de numere introdus are lungimea
n
și dacă toate elementele sunt numere întregi între 1 și 10000. - Definește funcția
min_max_sum
care calculează valoarea minimă, valoarea maximă și suma elementelor din vector. Inițializează variabilelemini
,maxi
șisum
. Iterează prin elementele vectorului și actualizează valoarea minimă, valoarea maximă și suma elementelor. - Apelă funcția
min_max_sum
cu vectorul introdus de utilizator și afișează valoarea minimă, valoarea maximă și suma elementelor din vector.
Programul urmează acești pași pentru a se asigura că datele introduse sunt corecte și pentru a oferi informațiile cerute despre vector (valoarea minimă, valoarea maximă și suma elementelor).