<?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=0081_-_Matrice</id>
	<title>0081 - Matrice - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0081_-_Matrice"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0081_-_Matrice&amp;action=history"/>
	<updated>2026-05-01T03:44:43Z</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=0081_-_Matrice&amp;diff=4444&amp;oldid=prev</id>
		<title>Alexandra Leș: Pagină nouă: == Cerinţa == Scrieţi un program care citeşte de la tastatură un număr natural &#039;&#039;&#039;n&#039;&#039;&#039; ( &#039;&#039;&#039;1 ≤ n ≤ 20&#039;&#039;&#039; ) şi apoi elementele unui tablou bidimensional cu &#039;&#039;&#039;n&#039;&#039;&#039; linii şi &#039;&#039;&#039;n&#039;&#039;&#039; coloane, care memorează numere naturale. Programul afişează pe ecran numărul de elemente din tablou care sunt strict mai mari decât toate elementele cu care se învecinează direct (aflate pe aceeaşi linie dar pe o coloană alăturată sau pe aceeaşi coloană dar pe o linie alătu...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0081_-_Matrice&amp;diff=4444&amp;oldid=prev"/>
		<updated>2023-04-25T16:01:49Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Scrieţi un program care citeşte de la tastatură un număr natural &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; ( &amp;#039;&amp;#039;&amp;#039;1 ≤ n ≤ 20&amp;#039;&amp;#039;&amp;#039; ) şi apoi elementele unui tablou bidimensional cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii şi &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; coloane, care memorează numere naturale. Programul afişează pe ecran numărul de elemente din tablou care sunt strict mai mari decât toate elementele cu care se învecinează direct (aflate pe aceeaşi linie dar pe o coloană alăturată sau pe aceeaşi coloană dar pe o linie alătu...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Scrieţi un program care citeşte de la tastatură un număr natural &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; ( &amp;#039;&amp;#039;&amp;#039;1 ≤ n ≤ 20&amp;#039;&amp;#039;&amp;#039; ) şi apoi elementele unui tablou bidimensional cu &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii şi &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; coloane, care memorează numere naturale.&lt;br /&gt;
Programul afişează pe ecran numărul de elemente din tablou care sunt strict mai mari decât toate elementele cu care se învecinează direct (aflate pe aceeaşi linie dar pe o coloană alăturată sau pe aceeaşi coloană dar pe o linie alăturată).&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar apoi &amp;#039;&amp;#039;&amp;#039;n*n&amp;#039;&amp;#039;&amp;#039; numere naturale, separate prin spaţii.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Dacă datele sunt introduse corect,pe ecran se va afișa :&amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele sunt introduse corect.&amp;quot;&amp;#039;&amp;#039;&amp;#039;,apoi pe un rând nou numărul de elemente din tablou care respectă regula.În cazul contrar,se va afișa pe ecran &amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; n &amp;amp;les; 20&lt;br /&gt;
* elementele matricei vor fi mai mici decât 1.000.000&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 4&lt;br /&gt;
: 1 5 1 1&lt;br /&gt;
: 2 1 2 3&lt;br /&gt;
: 1 3 4 2&lt;br /&gt;
: 2 1 2 1&lt;br /&gt;
; Date de ieșire&lt;br /&gt;
: Datele sunt introduse corect.&lt;br /&gt;
: 5&lt;br /&gt;
== Explicație == &lt;br /&gt;
Elementele din matrice care respectă regula sunt: &amp;#039;&amp;#039;&amp;#039;5 2 3 4 2&amp;#039;&amp;#039;&amp;#039;&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;
def validare_date(n, matrice):&lt;br /&gt;
    # Verifică dimensiunea matricei&lt;br /&gt;
    if n &amp;lt; 1 or n &amp;gt; 20:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă elementele matricei sunt numere naturale&lt;br /&gt;
    for linie in matrice:&lt;br /&gt;
        for element in linie:&lt;br /&gt;
            if not isinstance(element, int) or element &amp;lt; 0:&lt;br /&gt;
                return False&lt;br /&gt;
&lt;br /&gt;
    # Datele sunt valide&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rezolva_problema(n, matrice):&lt;br /&gt;
    numar_elemente= 0&lt;br /&gt;
&lt;br /&gt;
    # Verifică fiecare element din matrice&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        for j in range(n):&lt;br /&gt;
            este_maxim = True&lt;br /&gt;
&lt;br /&gt;
            # Verifică dacă există un element vecin mai mare&lt;br /&gt;
            if i &amp;gt; 0 and matrice[i-1][j] &amp;gt; matrice[i][j]:&lt;br /&gt;
                este_maxim = False&lt;br /&gt;
            if i &amp;lt; n-1 and matrice[i+1][j] &amp;gt; matrice[i][j]:&lt;br /&gt;
                este_maxim = False&lt;br /&gt;
            if j &amp;gt; 0 and matrice[i][j-1] &amp;gt; matrice[i][j]:&lt;br /&gt;
                este_maxim = False&lt;br /&gt;
            if j &amp;lt; n-1 and matrice[i][j+1] &amp;gt; matrice[i][j]:&lt;br /&gt;
                este_maxim = False&lt;br /&gt;
&lt;br /&gt;
            # Dacă este maxim, crește numărul de elemente găsite&lt;br /&gt;
            if este_maxim:&lt;br /&gt;
                numar_elemente+= 1&lt;br /&gt;
&lt;br /&gt;
    # Returnează numărul de elemente găsite&lt;br /&gt;
    return numar_elemente&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    # Citirea datelor de intrare&lt;br /&gt;
    n = int(input())&lt;br /&gt;
    matrice = []&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        linie = [int(x) for x in input().split()]&lt;br /&gt;
        matrice.append(linie)&lt;br /&gt;
&lt;br /&gt;
    # Verificarea datelor de intrare&lt;br /&gt;
    if not validare_date(n, matrice):&lt;br /&gt;
        print(&amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
    else :&lt;br /&gt;
    # Rezolvarea problemei și afișarea rezultatului&lt;br /&gt;
        rezultat = rezolva_problema(n, matrice)&lt;br /&gt;
        print(&amp;quot;Datele sunt introduse corect.&amp;quot;)&lt;br /&gt;
        print(rezultat)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alexandra Leș</name></author>
	</entry>
</feed>