<?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=0770_-_Perm_Col</id>
	<title>0770 - Perm Col - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0770_-_Perm_Col"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0770_-_Perm_Col&amp;action=history"/>
	<updated>2026-06-17T07:29:54Z</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=0770_-_Perm_Col&amp;diff=3895&amp;oldid=prev</id>
		<title>Andor Giulia: Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/770/permcol] == Cerință == Se dă o matrice cu &#039;&#039;&#039;n&#039;&#039;&#039; linii și &#039;&#039;&#039;m&#039;&#039;&#039; coloane și elemente numere naturale. Să se permute coloanele matricei circular spre stânga cu o poziție. == Date de intrare == Programul citește de la tastatură numerele &#039;&#039;&#039;n&#039;&#039;&#039; şi &#039;&#039;&#039;m&#039;&#039;&#039;, iar apoi &#039;&#039;&#039;n*m&#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,...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0770_-_Perm_Col&amp;diff=3895&amp;oldid=prev"/>
		<updated>2023-04-21T12:29:32Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: Sursă: [https://www.pbinfo.ro/probleme/770/permcol] == Cerință == 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;m&amp;#039;&amp;#039;&amp;#039; coloane și elemente numere naturale. Să se permute coloanele matricei circular spre stânga cu o poziție. == Date de intrare == Programul citește de la tastatură numerele &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;, iar apoi &amp;#039;&amp;#039;&amp;#039;n*m&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,...&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/770/permcol]&lt;br /&gt;
== Cerință ==&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;m&amp;#039;&amp;#039;&amp;#039; coloane și elemente numere naturale. Să se permute coloanele matricei circular spre stânga cu o poziție.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numerele &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;, iar apoi &amp;#039;&amp;#039;&amp;#039;n*m&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;quot;Datele sunt corecte.&amp;quot;. Programul afișează pe ecran elementele matricei transformate, 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 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;1 ≤ m, n ≤ 100&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* elementele matricei vor fi mai mici decât &amp;#039;&amp;#039;&amp;#039;1.000.000&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
== Exemple ==&lt;br /&gt;
=== Exemplu 1 ===&lt;br /&gt;
; Date de intrare&lt;br /&gt;
: 4 6&lt;br /&gt;
: 4 20 15 23 18 9 &lt;br /&gt;
: 1 8 23 22 14 18 &lt;br /&gt;
: 17 15 13 18 12 15 &lt;br /&gt;
: 3 18 8 20 12 5 &lt;br /&gt;
; Date de ieșire&lt;br /&gt;
: 20 15 23 18 9 4 &lt;br /&gt;
: 8 23 22 14 18 1 &lt;br /&gt;
: 15 13 18 12 15 17 &lt;br /&gt;
: 18 8 20 12 5 3&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 1 &amp;lt;= lin &amp;lt;= 100 and 1 &amp;lt;= col &amp;lt;= 100:&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;= 1000000:&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 PermCol(matrice, n, m):&lt;br /&gt;
    for i in range(n):&lt;br /&gt;
        aux = matrice[i][0]&lt;br /&gt;
        for j in range(m - 1):&lt;br /&gt;
            matrice[i][j] = matrice[i][j + 1]&lt;br /&gt;
        matrice[i][m - 1] = aux&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;
   PermCol(matrice, n, m)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Explicatii ==&lt;br /&gt;
 Acest cod citeste de la tastatura dimensiunile si valorile unei matrice, apoi efectueaza o permutare a elementelor fiecarei coloane a matricei si afiseaza matricea rezultata.&lt;br /&gt;
&lt;br /&gt;
 Mai exact, functia citire_lin_col() citeste numarul de linii si coloane ale matricei de la tastatura, verificand ca valorile introduse sa se incadreze in intervalul [1,100], si returneaza aceste valori.&lt;br /&gt;
&lt;br /&gt;
 Functia citeste_valori_matrice(lin, col) creeaza o matrice de dimensiunea specificata, apoi citeste valori intregi pentru fiecare element din matrice, verificand ca acestea sa fie in intervalul [0,1000000], si adauga elementele la matricea creata anterior.&lt;br /&gt;
&lt;br /&gt;
 Functia PermCol(matrice, n, m) primeste ca parametri matricea citita anterior, precum si numarul de linii si coloane, si permuta fiecare coloana a matricei astfel incat primul element sa ajunga ultimul si toate celelalte elemente sa se deplaseze cu o pozitie spre stanga. Rezultatul permutarii este afisat apoi la consola.&lt;br /&gt;
&lt;br /&gt;
 In final, functiile sunt apelate in ordinea: citire_lin_col() pentru a citi dimensiunile matricei, citeste_valori_matrice(lin, col) pentru a citi valorile matricei, si PermCol(matrice, n, m) pentru a permuta si afisa matricea rezultata.&lt;/div&gt;</summary>
		<author><name>Andor Giulia</name></author>
	</entry>
</feed>