0512 - Sort Max: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== Se dă un vector cu n elemente, numere naturale distincte. Ordonați crescător elementele situate înaintea valorii maxime din vector și descrescător elementele situate după această valoare. ==Date de intrare== Programul citește de la tastatură numerele n, iar apoi n numere naturale, reprezentând elementele vectorului. ==Date de ieșire== Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cer... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 23: | Line 23: | ||
:Datele de intrare nu corespund restricțiilor impuse. | :Datele de intrare nu corespund restricțiilor impuse. | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#0512 - Sort Max | #0512 - Sort Max | ||
# definim o funcție pentru sortare | # definim o funcție pentru sortare | ||
Line 36: | Line 36: | ||
return a | return a | ||
# citim valorile de intrare | if __name__ == "__main__": | ||
n = int(input()) | # citim valorile de intrare | ||
a = list(map(int, input().split()) | n = int(input()) | ||
a = list(map(int, input().split())) | |||
# verificăm restricțiile | |||
if n >= 2 and n <= 1000 and max(a) < 1000000000: | |||
# dacă valorile de intrare respectă restricțiile impuse, sortăm vectorul și îl afișăm | |||
print("Datele de intrare corespund restricțiilor impuse.") | |||
a = sort_vector(n, a) | |||
print(*a) | |||
else: | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 08:39, 29 April 2023
Cerința
Se dă un vector cu n elemente, numere naturale distincte. Ordonați crescător elementele situate înaintea valorii maxime din vector și descrescător elementele situate după această valoare.
Date de intrare
Programul citește de la tastatură numerele n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire
Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cerute.
Restricții și precizări
- 1 ≤ n ≤ 1000;
- cele n numere citite vor fi mai mici decât 1.000.000.000;
Exemplul 1
- Intrare
- 7
- 13 1 10 15 3 7 11
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 1 10 13 15 11 7 3
Exemplul 2
- Intrare
- 0
- 0
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="1">
- 0512 - Sort Max
- definim o funcție pentru sortare
def sort_vector(n, a):
# găsim valoarea maximă și indexul acesteia în vector max_val = max(a) max_index = a.index(max_val) # sortăm valorile de dinainte și de după valoarea maximă a[:max_index] = sorted(a[:max_index]) a[max_index:] = sorted(a[max_index:], reverse=True) # returnăm elementele vectorului, sortate return a
if __name__ == "__main__":
# citim valorile de intrare n = int(input()) a = list(map(int, input().split()))
# verificăm restricțiile if n >= 2 and n <= 1000 and max(a) < 1000000000: # dacă valorile de intrare respectă restricțiile impuse, sortăm vectorul și îl afișăm print("Datele de intrare corespund restricțiilor impuse.") a = sort_vector(n, a) print(*a) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>