<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0180_-_Sort_Min_Max</id>
	<title>0180 - Sort Min Max - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0180_-_Sort_Min_Max"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0180_-_Sort_Min_Max&amp;action=history"/>
	<updated>2026-06-17T03:43:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0180_-_Sort_Min_Max&amp;diff=5457&amp;oldid=prev</id>
		<title>Adina Timiș: Pagină nouă:  ==Cerința== Să se ordoneze crescător elementele dintr-un şir dat cuprinse între elementul de valoare maximă şi cel de valoare minimă. ==Date de intrare== Programul citește de la tastatură numărul n, iar apoi n numere naturale distincte, separate prin spaţii. ==Date de ieșire== Programul afișează pe ecran elementele şirului după ordonare. ==Restricții și precizări== *0 &lt; n ≤ 1000; *elementele şirului sunt numere naturale mai mici decât 1.000.000; ==Exe...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0180_-_Sort_Min_Max&amp;diff=5457&amp;oldid=prev"/>
		<updated>2023-04-29T14:30:54Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă:  ==Cerința== Să se ordoneze crescător elementele dintr-un şir dat cuprinse între elementul de valoare maximă şi cel de valoare minimă. ==Date de intrare== Programul citește de la tastatură numărul n, iar apoi n numere naturale distincte, separate prin spaţii. ==Date de ieșire== Programul afișează pe ecran elementele şirului după ordonare. ==Restricții și precizări== *0 &amp;lt; n ≤ 1000; *elementele şirului sunt numere naturale mai mici decât 1.000.000; ==Exe...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Cerința==&lt;br /&gt;
Să se ordoneze crescător elementele dintr-un şir dat cuprinse între elementul de valoare maximă şi cel de valoare minimă.&lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citește de la tastatură numărul n, iar apoi n numere naturale distincte, separate prin spaţii.&lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Programul afișează pe ecran elementele şirului după ordonare.&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*0 &amp;lt; n ≤ 1000;&lt;br /&gt;
*elementele şirului sunt numere naturale mai mici decât 1.000.000;&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
:5&lt;br /&gt;
:10 20 15 7 12&lt;br /&gt;
;Ieșire&lt;br /&gt;
:10 7 15 20 12&lt;br /&gt;
:Datele de intrare corespund restricțiilor impuse.&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
:0&lt;br /&gt;
:0&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele de intrare nu corespund restricțiilor impuse.&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#0180 - Sort Min Max&lt;br /&gt;
def min_max_pos(n, a):&lt;br /&gt;
    min_val = float(&amp;#039;inf&amp;#039;) # initializam minimul cu o valoare  mare&lt;br /&gt;
    max_val = float(&amp;#039;-inf&amp;#039;) # initializam maximul cu o valoare mica&lt;br /&gt;
    min_pos = 0&lt;br /&gt;
    max_pos = 0&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        if a[i] &amp;lt; min_val:&lt;br /&gt;
            min_val = a[i]&lt;br /&gt;
            min_pos = i&lt;br /&gt;
        if a[i] &amp;gt; max_val:&lt;br /&gt;
            max_val = a[i]&lt;br /&gt;
            max_pos = i&lt;br /&gt;
    if min_pos &amp;gt; max_pos: # verificam daca pozitia minima e mai mare decat pozitia maxima&lt;br /&gt;
        min_pos, max_pos = max_pos, min_pos # interschimbam pozitiile&lt;br /&gt;
    return min_pos, max_pos&lt;br /&gt;
&lt;br /&gt;
def sort_min_max(n, a):&lt;br /&gt;
    min_pos, max_pos = min_max_pos(n, a) # gasim pozitia minima si pozitia maxima&lt;br /&gt;
    for i in range(min_pos, max_pos): # parcurgem elementele din vector intre pozitia minima si &lt;br /&gt;
                                      # pozitia maxima&lt;br /&gt;
        for j in range(i+1, max_pos+1): # parcurgem elementele din vector intre pozitia i si &lt;br /&gt;
                                        # pozitia maxima&lt;br /&gt;
            if a[i] &amp;gt; a[j]: # daca elementul de pe pozitia i e mai mare decat cel de pe j&lt;br /&gt;
                a[i], a[j] = a[j], a[i] # interschimbam elementele&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    n = int(input(&amp;quot;Introduceti numarul de elemente din vector: &amp;quot;))&lt;br /&gt;
    a = list(map(int, input(&amp;quot;Introduceti elementele vectorului: &amp;quot;).split()))&lt;br /&gt;
    # verificarea restrictiilor&lt;br /&gt;
    if 0 &amp;lt; n &amp;lt;= 1000 and all(1 &amp;lt;= x &amp;lt;= 10**6 for x in a):&lt;br /&gt;
        sort_min_max(n, a) # sortam elementele din vector intre pozitia minima si &lt;br /&gt;
                                   # pozitia maxima&lt;br /&gt;
        print(&amp;quot;Vectorul sortat:&amp;quot;)&lt;br /&gt;
        print(*a) # afisam vectorul sortat folosind * pentru a separa elementele cu spatiu&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adina Timiș</name></author>
	</entry>
</feed>