<?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=0998_-_Matrice_6</id>
	<title>0998 - Matrice 6 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0998_-_Matrice_6"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0998_-_Matrice_6&amp;action=history"/>
	<updated>2026-05-01T16:47:28Z</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=0998_-_Matrice_6&amp;diff=4515&amp;oldid=prev</id>
		<title>Alexandra Leș: Pagină nouă: == Cerinţa == Se consideră o matrice pătratică cu &#039;&#039;&#039;n&#039;&#039;&#039; linii şi &#039;&#039;&#039;n&#039;&#039;&#039; coloane şi elemente numere naturale. Să se modifice matricea în felul următor: toate elementele de pe liniile care conţin valoare maximă din matrice vor fi mărite cu valoarea minimă din matrice. == Date de intrare == Fișierul de intrare &#039;&#039;&#039;matrice6.in&#039;&#039;&#039; conține pe prima linie numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar următoarele &#039;&#039;&#039;n&#039;&#039;&#039; linii câte &#039;&#039;&#039;n&#039;&#039;&#039; numere naturale, reprezentând elementele matrice...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0998_-_Matrice_6&amp;diff=4515&amp;oldid=prev"/>
		<updated>2023-04-26T12:12:26Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se consideră o matrice pătratică 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 modifice matricea în felul următor: toate elementele de pe liniile care conţin valoare maximă din matrice vor fi mărite cu valoarea minimă din matrice. == Date de intrare == Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;matrice6.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar următoarele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii câte &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; numere naturale, reprezentând elementele matrice...&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 consideră o matrice pătratică 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 modifice matricea în felul următor: toate elementele de pe liniile care conţin valoare maximă din matrice vor fi mărite cu valoarea minimă din matrice.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;matrice6.in&amp;#039;&amp;#039;&amp;#039; conține pe prima linie numărul &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039;, iar următoarele &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; linii câte &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; numere naturale, reprezentând elementele matricei.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Dacă datele sunt introduse corect,în fișier 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 matricea modificată, câte o linie a matricei pe o linie a fişierului, elementele fiecărei linii fiind separate prin exact un spaţiu.În cazul contrar,se va afișa în fișier &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 000&lt;br /&gt;
== Exemplu ==&lt;br /&gt;
; matrice6.in&lt;br /&gt;
: 4&lt;br /&gt;
: 2 5 3 2&lt;br /&gt;
: 2 2 4 4&lt;br /&gt;
: 3 2 2 2&lt;br /&gt;
: 5 3 5 2&lt;br /&gt;
; matrice6.out&lt;br /&gt;
: Datele sunt introduse corect.&lt;br /&gt;
: 4 7 5 4&lt;br /&gt;
: 2 2 4 4&lt;br /&gt;
: 3 2 2 2&lt;br /&gt;
: 7 5 7 4&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(n: int, matrice: list[list[int]]) -&amp;gt; bool:&lt;br /&gt;
    # Verificăm dacă numărul de linii și coloane ale matricei este cel puțin 1 și cel mult 100&lt;br /&gt;
    if n &amp;lt; 1 or n &amp;gt; 100:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    # Verificăm dacă matricea are n linii și n coloane&lt;br /&gt;
    if len(matrice) != n:&lt;br /&gt;
        return False&lt;br /&gt;
    for linie in matrice:&lt;br /&gt;
        if len(linie) != n:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificăm dacă toate elementele matricei sunt numere naturale mai mici decât 1 000 000 000&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 or element &amp;gt;= 1000000000:&lt;br /&gt;
                return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rezolvare(n: int, matrice: list[list[int]]) -&amp;gt; list[list[int]]:&lt;br /&gt;
    # Găsim valoarea maximă și valoarea minimă din matrice&lt;br /&gt;
    Max = matrice[0][0]&lt;br /&gt;
    Min = matrice[0][0]&lt;br /&gt;
    for linie in matrice:&lt;br /&gt;
        for element in linie:&lt;br /&gt;
            if element &amp;gt; Max:&lt;br /&gt;
                Max = element&lt;br /&gt;
            if element &amp;lt; Min:&lt;br /&gt;
                Min = element&lt;br /&gt;
&lt;br /&gt;
    # Identificăm liniile care conțin valoarea maximă&lt;br /&gt;
    liniile_maximului = []&lt;br /&gt;
    for i, linie in enumerate(matrice):&lt;br /&gt;
        if Max in linie:&lt;br /&gt;
            liniile_maximului.append(i)&lt;br /&gt;
&lt;br /&gt;
    # Adăugăm valoarea minimă la fiecare element de pe liniile identificate anterior&lt;br /&gt;
    for i in liniile_maximului:&lt;br /&gt;
        for j in range(n):&lt;br /&gt;
            matrice[i][j] += Min&lt;br /&gt;
&lt;br /&gt;
    return matrice&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    with open(&amp;#039;matrice6.in&amp;#039;, &amp;#039;r&amp;#039;) as fin:&lt;br /&gt;
        n = int(fin.readline())&lt;br /&gt;
        matrice = [list(map(int, fin.readline().split())) for _ in range(n)]&lt;br /&gt;
&lt;br /&gt;
    if validare(n, matrice):&lt;br /&gt;
        matrice_modificata = rezolvare(n, matrice)&lt;br /&gt;
        with open(&amp;#039;matrice6.out&amp;#039;, &amp;#039;w&amp;#039;) as fout:&lt;br /&gt;
            fout.write(&amp;quot;Datele sunt introduse corect.\n&amp;quot;)&lt;br /&gt;
            for linie in matrice_modificata:&lt;br /&gt;
                fout.write(&amp;#039; &amp;#039;.join(str(element) for element in linie) + &amp;#039;\n&amp;#039;)&lt;br /&gt;
    else:&lt;br /&gt;
        with open(&amp;quot;matrice6.out&amp;quot;, &amp;quot;w&amp;quot;) as f_out:&lt;br /&gt;
            fout.write(&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>