<?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=0787_-_Mat_Sim_1</id>
	<title>0787 - Mat Sim 1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0787_-_Mat_Sim_1"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0787_-_Mat_Sim_1&amp;action=history"/>
	<updated>2026-05-02T10:15:42Z</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=0787_-_Mat_Sim_1&amp;diff=4248&amp;oldid=prev</id>
		<title>Alexandra Leș: Pagină nouă: == Cerinţa == Se dă o matrice cu &#039;&#039;&#039;n&#039;&#039;&#039; linii şi &#039;&#039;&#039;n&#039;&#039;&#039; coloane şi elemente numere naturale. Să se construiască o matrice care să fie simetrica față de diagonala secundară a matricei date. == Date de intrare == Programul citește de la tastatură numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n*n&#039;&#039;&#039; numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie. == Date de ieşire == Dacă datele sunt introduse corect,pe ecran se va afișa :&#039;&#039;&#039;&quot;Datele su...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0787_-_Mat_Sim_1&amp;diff=4248&amp;oldid=prev"/>
		<updated>2023-04-24T21:32:51Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se dă o matrice 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 şi elemente numere naturale. Să se construiască o matrice care să fie simetrica față de diagonala secundară a matricei date. == Date de intrare == 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, reprezentând elementele matricei, linie cu linie. == Date de ieşire == Dacă datele sunt introduse corect,pe ecran se va afișa :&amp;#039;&amp;#039;&amp;#039;&amp;quot;Datele su...&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;
Se dă o matrice 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 şi elemente numere naturale. Să se construiască o matrice care să fie simetrica față de diagonala secundară a matricei date.&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, reprezentând elementele matricei, linie cu linie.&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 elementele matricei construite, câte un linie a matricei pe o linie a ecranului, elementele de pe o linie fiind separate prin câte un spațiu.Î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; 100&lt;br /&gt;
* elementele matricei vor fi mai mici decât 1.000.000&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; Date de intrare&lt;br /&gt;
: 4&lt;br /&gt;
: 3 1 8 5 &lt;br /&gt;
: 7 8 5 1 &lt;br /&gt;
: 2 2 6 7 &lt;br /&gt;
: 9 8 1 3 &lt;br /&gt;
; Date de ieșire&lt;br /&gt;
: Datele sunt introduse corect.&lt;br /&gt;
: 3 7 1 5 &lt;br /&gt;
: 1 6 5 8 &lt;br /&gt;
: 8 2 8 1 &lt;br /&gt;
: 9 2 7 3&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;
# Funcția de validare a datelor de intrare&lt;br /&gt;
def validare_date_intrare(n, a):&lt;br /&gt;
    # parcurgem matricea&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        for j in range(n):&lt;br /&gt;
            # verificăm dacă există cel putin un element mai mare sau egal cu 1000000&lt;br /&gt;
            if a[i][j] &amp;gt;= 1000000:&lt;br /&gt;
                # daca există, returnam False&lt;br /&gt;
                return False&lt;br /&gt;
    # dacă toate elementele din matricea a respecta condiția, returnam True&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Funcția care construiește matricea simetrică față de diagonala secundară&lt;br /&gt;
def construieste_matrice_simetrica(a, n):&lt;br /&gt;
    # inițializăm matricea b cu 0&lt;br /&gt;
    b = [[0 for j in range(n)] for i in range(n)]&lt;br /&gt;
    # parcurgem matricea a&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        for j in range(n):&lt;br /&gt;
            # construim matricea b astfel încat fiecare element de pe poziția (i,j) să fie&lt;br /&gt;
            # egal cu elementul de pe poziția (n-1-j, n-1-i) din matricea a&lt;br /&gt;
            b[i][j] = a[n - 1 - j][n - 1 - i]&lt;br /&gt;
    # returnăm matricea b construită&lt;br /&gt;
    return b&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Funcția principală&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    # citim n de la tastatură&lt;br /&gt;
    n = int(input())&lt;br /&gt;
    # inițializăm matricea a cu 0&lt;br /&gt;
    a = [[0 for j in range(n)] for i in range(n)]&lt;br /&gt;
    # citim elementele matricei a de la tastatură&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        linie = input().split()&lt;br /&gt;
        for j in range(n):&lt;br /&gt;
            a[i][j] = int(linie[j])&lt;br /&gt;
&lt;br /&gt;
    # verificăm dacă datele de intrare sunt valide&lt;br /&gt;
    if validare_date_intrare(n, a):&lt;br /&gt;
        # construim matricea b simetrică față de diagonala secundară&lt;br /&gt;
        b = construieste_matrice_simetrica(a, n)&lt;br /&gt;
        # afișăm mesajul &amp;quot;Datele sunt introduse corect.&amp;quot;&lt;br /&gt;
        print(&amp;quot;Datele sunt introduse corect.&amp;quot;)&lt;br /&gt;
        # afișăm matricea b pe ecran&lt;br /&gt;
        for i in range(n):&lt;br /&gt;
            for j in range(n):&lt;br /&gt;
                print(b[i][j], end=&amp;quot; &amp;quot;)&lt;br /&gt;
            print()&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
        # afișăm mesajul &amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;&lt;br /&gt;
        print(&amp;quot;Datele nu corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alexandra Leș</name></author>
	</entry>
</feed>