<?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=1329_-_SirZigZag</id>
	<title>1329 - SirZigZag - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1329_-_SirZigZag"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1329_-_SirZigZag&amp;action=history"/>
	<updated>2026-05-01T06:00:19Z</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=1329_-_SirZigZag&amp;diff=5666&amp;oldid=prev</id>
		<title>Petras.du.ioana: Am creat de la zero.</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1329_-_SirZigZag&amp;diff=5666&amp;oldid=prev"/>
		<updated>2023-04-30T13:45:55Z</updated>

		<summary type="html">&lt;p&gt;Am creat de la zero.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sursa: [https://www.pbinfo.ro/probleme/1329/sir-zigzag]&lt;br /&gt;
----&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Un şir se numeşte şir zigzag, dacă monotonia elementelor pe poziții succesive alternează între strict crescător și strict descrescător, adică a[1]&amp;gt;a[2]&amp;lt;a[3]&amp;gt;a[4] ... sau a[1]&amp;lt;a[2]&amp;gt;a[3]&amp;lt;a[4]....&lt;br /&gt;
Se citeşe un şir cu n elemente. Să se verifice dacă este şir zigzag.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele șirului.&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Programul va afișa pe ecran unul dintre mesajele DA sau NU după cum șirul dat este şir zigzag sau nu.&lt;br /&gt;
&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 3 ≤ n ≤ 1000&lt;br /&gt;
* 0 ≤ elementele şirului ≤ 1 000 000 000&lt;br /&gt;
&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 1 5 3 7 5&lt;br /&gt;
; Ieșire&lt;br /&gt;
: DA&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
Avem relațiile 1 &amp;lt; 5 &amp;gt; 3 &amp;lt; 7 &amp;gt; 5, deci e vorba de un șir zigzag.&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 4 3 5 1 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: DA&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
Avem relațiile 4 &amp;gt; 3 &amp;lt; 5 &amp;gt; 1 &amp;lt; 2, deci e vorba de un șir zigzag.&lt;br /&gt;
&lt;br /&gt;
== Exemplu 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 5&lt;br /&gt;
: 4 3 2 1 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: NU&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
Primele trei elemente ale șirului nu își schimbă monotonia, deci nu e șir zigzag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# citim numarul de elemente din sir&lt;br /&gt;
numar_elemente = int(input(&amp;quot;Introduceti numarul de elemente din sir: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
# validam daca numarul de elemente se afla in intervalul permis&lt;br /&gt;
if numar_elemente &amp;lt; 3 or numar_elemente &amp;gt; 1000:&lt;br /&gt;
    print(&amp;quot;Numarul de elemente trebuie sa fie intre 3 si 1000&amp;quot;)&lt;br /&gt;
    exit()&lt;br /&gt;
&lt;br /&gt;
# citim sirul de numere si validam ca fiecare element se afla in intervalul permis&lt;br /&gt;
sir = list(map(int, input(&amp;quot;Introduceti sirul de numere: &amp;quot;).split()))&lt;br /&gt;
for numar in sir:&lt;br /&gt;
    if numar &amp;lt; 0 or numar &amp;gt; 1000000000:&lt;br /&gt;
        print(&amp;quot;Numerele trebuie sa fie intre 0 si 1 000 000 000&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
# initializam o variabila care va retine daca sirul este zigzag sau nu&lt;br /&gt;
este_zigzag = True&lt;br /&gt;
&lt;br /&gt;
# parcurgem sirul si verificam monotonia triplurilor de elemente consecutive&lt;br /&gt;
for i in range(1, numar_elemente - 1):&lt;br /&gt;
    if not ((sir[i-1] &amp;lt; sir[i] and sir[i] &amp;gt; sir[i+1]) or (sir[i-1] &amp;gt; sir[i] and sir[i] &amp;lt; sir[i+1])):&lt;br /&gt;
        este_zigzag = False&lt;br /&gt;
        break&lt;br /&gt;
print(&amp;quot;Datele sunt introduse corect.&amp;quot;)&lt;br /&gt;
# afisam rezultatul&lt;br /&gt;
if este_zigzag:&lt;br /&gt;
    print(&amp;quot;DA&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;NU&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Petras.du.ioana</name></author>
	</entry>
</feed>