<?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=3149_-_anagrame_vocale</id>
	<title>3149 - anagrame vocale - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=3149_-_anagrame_vocale"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3149_-_anagrame_vocale&amp;action=history"/>
	<updated>2026-05-01T08:24:48Z</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=3149_-_anagrame_vocale&amp;diff=7609&amp;oldid=prev</id>
		<title>Gabii: Pagină nouă: = Cerința = Se citește un cuvânt format din cel puțin două și cel mult zece caractere litere mici distincte care conține cel puțin două vocale. Afișați în ordine lexicografică anagramele cuvântului citit care au proprietatea că încep și se termină cu o vocală.  = Date de intrare = Programul citește de la tastatură șirul de caractere.  = Date de ieșire = Programul va afișa pe ecran anagramele cerute, câte una pe un rând.  = Restricții și precizări...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3149_-_anagrame_vocale&amp;diff=7609&amp;oldid=prev"/>
		<updated>2023-12-04T12:31:12Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă: = Cerința = Se citește un cuvânt format din cel puțin două și cel mult zece caractere litere mici distincte care conține cel puțin două vocale. Afișați în ordine lexicografică anagramele cuvântului citit care au proprietatea că încep și se termină cu o vocală.  = Date de intrare = Programul citește de la tastatură șirul de caractere.  = Date de ieșire = Programul va afișa pe ecran anagramele cerute, câte una pe un rând.  = Restricții și precizări...&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 citește un cuvânt format din cel puțin două și cel mult zece caractere litere mici distincte care conține cel puțin două vocale. Afișați în ordine lexicografică anagramele cuvântului citit care au proprietatea că încep și se termină cu o vocală.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
Programul citește de la tastatură șirul de caractere.&lt;br /&gt;
&lt;br /&gt;
= Date de ieșire =&lt;br /&gt;
Programul va afișa pe ecran anagramele cerute, câte una pe un rând.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* numărul de caractere ale șirului dat este cuprins între &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; și &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;;&lt;br /&gt;
* cuvântul dat este format din litere mici distincte și conține cel puțin două vocale;&lt;br /&gt;
* vocalele sunt &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;e&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
= Exemplul 1 =&lt;br /&gt;
Intrare&lt;br /&gt;
 alin&lt;br /&gt;
Ieșire&lt;br /&gt;
 alni&lt;br /&gt;
 anli&lt;br /&gt;
 ilna&lt;br /&gt;
 inla&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
Intrare&lt;br /&gt;
 arc&lt;br /&gt;
consola&lt;br /&gt;
 Cuvântul trebuie să aibă între 2 și 10 litere mici distincte și să conțină cel puțin două vocale.&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
def este_anagrama_valida(cuvant):&lt;br /&gt;
    # Verificăm dacă cuvântul începe și se termină cu o vocală&lt;br /&gt;
    return cuvant[0] in &amp;#039;aeiou&amp;#039; and cuvant[-1] in &amp;#039;aeiou&amp;#039;&lt;br /&gt;
&lt;br /&gt;
def genereaza_anagrame(curent, ramase, rezultat):&lt;br /&gt;
    if not ramase:&lt;br /&gt;
        if este_anagrama_valida(curent):&lt;br /&gt;
            rezultat.append(curent)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    for i in range(len(ramase)):&lt;br /&gt;
        genereaza_anagrame(curent + ramase[i], ramase[:i] + ramase[i+1:], rezultat)&lt;br /&gt;
&lt;br /&gt;
def valideaza_cuvant(cuvant):&lt;br /&gt;
    # Verificăm restricțiile&lt;br /&gt;
    return 2 &amp;lt;= len(cuvant) &amp;lt;= 10 and len(set(cuvant)) == len(cuvant) and sum(1 for char in cuvant if char in &amp;#039;aeiou&amp;#039;) &amp;gt;= 2&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        # Citim cuvântul de la tastatură&lt;br /&gt;
        cuvant = input(&amp;quot;Introduceți un cuvânt: &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # Verificăm restricțiile utilizând funcția separată&lt;br /&gt;
        if not valideaza_cuvant(cuvant):&lt;br /&gt;
            print(&amp;quot;Cuvântul trebuie să aibă între 2 și 10 litere mici distincte și să conțină cel puțin două vocale.&amp;quot;)&lt;br /&gt;
            return&lt;br /&gt;
&lt;br /&gt;
        # Inițializăm o listă pentru a stoca anagramele rezultate&lt;br /&gt;
        anagrame = []&lt;br /&gt;
&lt;br /&gt;
        # Generăm anagramele cuvântului care încep și se termină cu o vocală&lt;br /&gt;
        genereaza_anagrame(&amp;#039;&amp;#039;, cuvant, anagrame)&lt;br /&gt;
&lt;br /&gt;
        # Sortăm și afișăm anagramele&lt;br /&gt;
        for anagrama in sorted(anagrame):&lt;br /&gt;
            print(anagrama)&lt;br /&gt;
&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;A intervenit o eroare: {e}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gabii</name></author>
	</entry>
</feed>