<?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=1454_-_Permutare_Cuvant</id>
	<title>1454 - Permutare Cuvant - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=1454_-_Permutare_Cuvant"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1454_-_Permutare_Cuvant&amp;action=history"/>
	<updated>2026-05-01T09:02:19Z</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=1454_-_Permutare_Cuvant&amp;diff=8122&amp;oldid=prev</id>
		<title>AntalKrisztian: Pagină nouă: == Cerinţa == Se dă un cuvânt format din litere ale alfabetului englez și cifre. Afișați toate permutările circulare spre stânga ale sale. == Date de intrare == Fișierul de intrare &#039;&#039;&#039;permutarecuvantin.txt&#039;&#039;&#039; conține cuvântul pentru care se vor afișa permutările circulare spre stânga. == Date de ieşire == Fișierul de ieșire &#039;&#039;&#039;permutarecuvantout.txt&#039;&#039;&#039; va conține pe o singura linie toate permutările circulare ale cuvântului, separate prin câte un spațiu....</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1454_-_Permutare_Cuvant&amp;diff=8122&amp;oldid=prev"/>
		<updated>2023-12-14T15:09:39Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: == Cerinţa == Se dă un cuvânt format din litere ale alfabetului englez și cifre. Afișați toate permutările circulare spre stânga ale sale. == Date de intrare == Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;permutarecuvantin.txt&amp;#039;&amp;#039;&amp;#039; conține cuvântul pentru care se vor afișa permutările circulare spre stânga. == Date de ieşire == Fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;permutarecuvantout.txt&amp;#039;&amp;#039;&amp;#039; va conține pe o singura linie toate permutările circulare ale cuvântului, separate prin câte un spațiu....&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ă un cuvânt format din litere ale alfabetului englez și cifre. Afișați toate permutările circulare spre stânga ale sale.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &amp;#039;&amp;#039;&amp;#039;permutarecuvantin.txt&amp;#039;&amp;#039;&amp;#039; conține cuvântul pentru care se vor afișa permutările circulare spre stânga.&lt;br /&gt;
== Date de ieşire ==&lt;br /&gt;
Fișierul de ieșire &amp;#039;&amp;#039;&amp;#039;permutarecuvantout.txt&amp;#039;&amp;#039;&amp;#039; va conține pe o singura linie toate permutările circulare ale cuvântului, separate prin câte un spațiu.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* Cuvântul va avea maximum &amp;#039;&amp;#039;&amp;#039;20&amp;#039;&amp;#039;&amp;#039; de caractere.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; permutarecuvantin.txt&lt;br /&gt;
 Hello&lt;br /&gt;
; permutarecuvantout.txt&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse.&lt;br /&gt;
 Hello elloH lloHe loHel oHell&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; permutarecuvantin.txt&lt;br /&gt;
 car&lt;br /&gt;
; permutarecuvantout.txt&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse.&lt;br /&gt;
 car arc rca&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; permutarecuvantin.txt&lt;br /&gt;
 acestcuvantesteprealung&lt;br /&gt;
; permutarecuvantout.txt&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
# functia de validare verifica daca datele de intrare sunt in intervalul specificat&lt;br /&gt;
def validare(cuvant_validare):&lt;br /&gt;
    # verificam daca lungimea cuvantului este mai mica sau egala cu 20&lt;br /&gt;
    if len(cuvant_validare) &amp;gt; 20:&lt;br /&gt;
        raise ValueError  # ridicam o eroare daca lungimea cuvantului nu este in intervalul 0-20&lt;br /&gt;
    for caracter in cuvant_validare:    # parcurgem fiecare caracter din cuvant&lt;br /&gt;
        # verificam daca caracterul este o litera a alfabetului englezesc sau o cifra&lt;br /&gt;
        if not caracter.isalpha() and not caracter.isdigit():&lt;br /&gt;
            raise ValueError&lt;br /&gt;
    file_out.write(&amp;quot;Datele de intrare corespund restrictiilor impuse.\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# functia permutari_circulare genereaza toate permutarile circulare ale unui cuvant&lt;br /&gt;
def permutari_circulare(cuvant):&lt;br /&gt;
    # generam toate permutarile circulare ale cuvantului&lt;br /&gt;
    return [cuvant[i:] + cuvant[:i] for i in range(len(cuvant))]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    file_in = open(&amp;quot;permutarecuvantin.txt&amp;quot;, &amp;quot;r&amp;quot;)&lt;br /&gt;
    file_out = open(&amp;quot;permutarecuvantout.txt&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    try:&lt;br /&gt;
        # citim cuvantul&lt;br /&gt;
        cuvant_main = file_in.readline().strip()&lt;br /&gt;
        # validam datele de intrare&lt;br /&gt;
        validare(cuvant_main)&lt;br /&gt;
        # generam toate permutarile circulare ale cuvantului si scriem rezultatul in fisierul de iesire&lt;br /&gt;
        file_out.write(&amp;#039; &amp;#039;.join(permutari_circulare(cuvant_main)) + &amp;#039;\n&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    except ValueError:&lt;br /&gt;
        file_out.write(&amp;quot;Datele de intrare nu corespund restrictiilor impuse.&amp;quot;)&lt;br /&gt;
    except IndexError:&lt;br /&gt;
        file_out.write(&amp;quot;Datele de intrare nu corespund restrictiilor impuse.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>AntalKrisztian</name></author>
	</entry>
</feed>