<?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=2800_-_Chenar_1</id>
	<title>2800 - Chenar 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=2800_-_Chenar_1"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2800_-_Chenar_1&amp;action=history"/>
	<updated>2026-05-01T09:08:49Z</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=2800_-_Chenar_1&amp;diff=3896&amp;oldid=prev</id>
		<title>Andor Giulia: Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/2800/chenar1] == Cerință == Scrieți un program care citește de la tastatură două numere naturale din intervalul &#039;&#039;&#039;[3,50]&#039;&#039;&#039;, &#039;&#039;&#039;n&#039;&#039;&#039; și &#039;&#039;&#039;m&#039;&#039;&#039;, și elementele unui tablou bidimensional cu &#039;&#039;&#039;n&#039;&#039;&#039; linii și &#039;&#039;&#039;m&#039;&#039;&#039; coloane, numere naturale din intervalul &#039;&#039;&#039;[0,104]&#039;&#039;&#039;. Programul modifică în memorie tabloul dat, atribuind valoarea elementului aflat pe ultima linie și pe ultima coloană a tabloului fiecărui element aflat pe co...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2800_-_Chenar_1&amp;diff=3896&amp;oldid=prev"/>
		<updated>2023-04-21T12:40:08Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/2800/chenar1] == Cerință == Scrieți un program care citește de la tastatură două numere naturale din intervalul &amp;#039;&amp;#039;&amp;#039;[3,50]&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039;, și 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;m&amp;#039;&amp;#039;&amp;#039; coloane, numere naturale din intervalul &amp;#039;&amp;#039;&amp;#039;[0,104]&amp;#039;&amp;#039;&amp;#039;. Programul modifică în memorie tabloul dat, atribuind valoarea elementului aflat pe ultima linie și pe ultima coloană a tabloului fiecărui element aflat pe co...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sursă: [https://www.pbinfo.ro/probleme/2800/chenar1]&lt;br /&gt;
== Cerință ==&lt;br /&gt;
Scrieți un program care citește de la tastatură două numere naturale din intervalul &amp;#039;&amp;#039;&amp;#039;[3,50]&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;n&amp;#039;&amp;#039;&amp;#039; și &amp;#039;&amp;#039;&amp;#039;m&amp;#039;&amp;#039;&amp;#039;, și 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;m&amp;#039;&amp;#039;&amp;#039; coloane, numere naturale din intervalul &amp;#039;&amp;#039;&amp;#039;[0,104]&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Programul modifică în memorie tabloul dat, atribuind valoarea elementului aflat pe ultima linie și pe ultima coloană a tabloului fiecărui element aflat pe conturul acestuia (pe prima linie, ultima linie, prima coloană, ultima coloană), apoi afișează pe ecran tabloul modificat, câte o linie a tabloului pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin câte un spațiu.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &amp;#039;&amp;#039;&amp;#039;n m&amp;#039;&amp;#039;&amp;#039;, iar apoi cele &amp;#039;&amp;#039;&amp;#039;n • m&amp;#039;&amp;#039;&amp;#039; elemente ale tabloului.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Dacă datele sunt introduse corect, pe ecran se va afișa: &amp;quot;Datele sunt corecte.&amp;quot;. Programul va afișa pe ecran elementele tabloului modificat, conform cerinței. În caz contrar, se va afișa pe ecran: &amp;quot;Datele nu sunt comform restricțiilor impuse.&amp;quot;.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;3 ≤ n,m ≤ 50&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* lementele tabloului aparțin intervalului &amp;#039;&amp;#039;&amp;#039;[0,104]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Exemple ==&lt;br /&gt;
=== Exemplu 1 ===&lt;br /&gt;
; Date de intrare&lt;br /&gt;
: 5 4&lt;br /&gt;
: 0 5 2 11&lt;br /&gt;
: 3 2 10 2&lt;br /&gt;
:  3 1 4&lt;br /&gt;
: 4 5 0 12&lt;br /&gt;
: 8 13 7 5&lt;br /&gt;
; Date de ieșire&lt;br /&gt;
: 5 5 5 5 &lt;br /&gt;
: 5 2 10 5 &lt;br /&gt;
: 5 3 1 5 &lt;br /&gt;
: 5 5 0 5 &lt;br /&gt;
: 5 5 5 5 &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;
def citire_lin_col():&lt;br /&gt;
    try:&lt;br /&gt;
        lin = int(input(&amp;quot;Introduceti numarul de linii: &amp;quot;))&lt;br /&gt;
        col = int(input(&amp;quot;Introduceti numarul de coloane: &amp;quot;))&lt;br /&gt;
        if 3 &amp;lt;= lin &amp;lt;= 50 and 3 &amp;lt;= col &amp;lt;= 50:&lt;br /&gt;
            print(&amp;quot;Datele sunt corecte.&amp;quot;)&lt;br /&gt;
            return lin, col&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele nu sunt conform restricțiilor impuse.&amp;quot;)&lt;br /&gt;
            exit()&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        print(&amp;quot;Trebuie introduse doar numere intregi.&amp;quot;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
def citeste_valori_matrice(lin, col):&lt;br /&gt;
    matrice = []&lt;br /&gt;
    for linie in range(lin):&lt;br /&gt;
        matrice.append([])&lt;br /&gt;
        for coloana in range(col):&lt;br /&gt;
            while True:&lt;br /&gt;
                try:&lt;br /&gt;
                    n = int(input(&amp;quot;Introduceti un numar: &amp;quot;))&lt;br /&gt;
                    if 0 &amp;lt;= n &amp;lt;= 10000:&lt;br /&gt;
                        print(&amp;quot;Datele sunt corecte.&amp;quot;)&lt;br /&gt;
                        matrice[linie].append(n)&lt;br /&gt;
                        break&lt;br /&gt;
                    else:&lt;br /&gt;
                        print(&amp;quot;Datele nu sunt conform restricțiilor impuse.&amp;quot;)&lt;br /&gt;
                except ValueError:&lt;br /&gt;
                    print(&amp;quot;Trebuie introduse doar numere intregi.&amp;quot;)&lt;br /&gt;
    return matrice&lt;br /&gt;
&lt;br /&gt;
def Chenar1(matrice, n, m):&lt;br /&gt;
    val = matrice[-1][-1]&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        matrice[i][0] = val&lt;br /&gt;
        matrice[i][-1] = val&lt;br /&gt;
    for i in range(m):&lt;br /&gt;
        matrice[0][i] = val&lt;br /&gt;
        matrice[-1][i] = val&lt;br /&gt;
&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        for j in range(m):&lt;br /&gt;
            print(matrice[i][j], end=&amp;#039; &amp;#039;)&lt;br /&gt;
        print()&lt;br /&gt;
&lt;br /&gt;
if _name_ == &amp;quot;_main_&amp;quot;:&lt;br /&gt;
   n, m = citire_lin_col()&lt;br /&gt;
   matrice = citeste_valori_matrice(n, m)&lt;br /&gt;
   Chenar1(matrice, n, m)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Explicatii ==&lt;br /&gt;
 Acest cod este o implementare în Python a problemei &amp;quot;Chenar 1&amp;quot; care solicită să se înlocuiască cu o valoare fixă elementele din marginile unei matrice, unde această valoare este preluată din celula din colțul din dreapta jos.&lt;br /&gt;
&lt;br /&gt;
 Programul este structurat în trei funcții:&lt;br /&gt;
&lt;br /&gt;
 citire_lin_col() - citește de la tastatură numărul de linii și coloane ale matricei și validează dacă respectă condițiile problemei; dacă da, returnează aceste valori ca tuple, altfel iese din program cu o eroare.&lt;br /&gt;
citeste_valori_matrice(lin, col) - citește de la tastatură valorile matricei, verificând în timpul citirii dacă sunt conforme cerinței problemei; matricea este stocată într-o listă de liste și returnată.&lt;br /&gt;
Chenar1(matrice, n, m) - primește ca parametri matricea și dimensiunile acesteia și înlocuiește elementele din margini cu valoarea preluată din celula din colțul din dreapta jos; apoi afișează matricea.&lt;br /&gt;
În funcția principală (if _name_ == &amp;quot;_main_&amp;quot;:) se apelează cele trei funcții în ordine pentru a obține și afișa matricea cu valorile din margini înlocuite.&lt;/div&gt;</summary>
		<author><name>Andor Giulia</name></author>
	</entry>
</feed>