0512 - Sort Max: Difference between revisions

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


    # 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[edit | edit source]

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[edit | edit source]

Programul citește de la tastatură numerele n, iar apoi n numere naturale, reprezentând elementele vectorului.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran elementele vectorului, separate prin exact un spațiu, după efectuarea operațiilor cerute.

Restricții și precizări[edit | edit source]

  • 1 ≤ n ≤ 1000;
  • cele n numere citite vor fi mai mici decât 1.000.000.000;

Exemplul 1[edit | edit source]

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[edit | edit source]

Intrare
0
0
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="1">

  1. 0512 - Sort Max
  2. 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>