<?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=0135_-_Sablon</id>
	<title>0135 - Sablon - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/index.php?action=history&amp;feed=atom&amp;title=0135_-_Sablon"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0135_-_Sablon&amp;action=history"/>
	<updated>2026-05-02T01:49:26Z</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=0135_-_Sablon&amp;diff=5912&amp;oldid=prev</id>
		<title>Adina Timiș: Pagină nouă:  ==Cerința== Un șir de caractere s este șablon pentru un șir de caractere x dacă are aceeași lungime cu x și este alcătuit numai din caractere ale mulțimii {*, #, ?}, iar pe fiecare poziție din s în care apare * în x apare vocală, pe fiecare poziție din s în care apare # în x apare consoană, iar pe fiecare poziție din s în care apare ? în x putem avea orice caracter. Scrieți un program care citește de tastatură două șiruri de cel mult 30 caractere de...</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0135_-_Sablon&amp;diff=5912&amp;oldid=prev"/>
		<updated>2023-05-05T20:00:09Z</updated>

		<summary type="html">&lt;p&gt;Pagină nouă:  ==Cerința== Un șir de caractere s este șablon pentru un șir de caractere x dacă are aceeași lungime cu x și este alcătuit numai din caractere ale mulțimii {*, #, ?}, iar pe fiecare poziție din s în care apare * în x apare vocală, pe fiecare poziție din s în care apare # în x apare consoană, iar pe fiecare poziție din s în care apare ? în x putem avea orice caracter. Scrieți un program care citește de tastatură două șiruri de cel mult 30 caractere de...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Cerința==&lt;br /&gt;
Un șir de caractere s este șablon pentru un șir de caractere x dacă are aceeași lungime cu x și este alcătuit numai din caractere ale mulțimii {*, #, ?}, iar pe fiecare poziție din s în care apare * în x apare vocală, pe fiecare poziție din s în care apare # în x apare consoană, iar pe fiecare poziție din s în care apare ? în x putem avea orice caracter. Scrieți un program care citește de tastatură două șiruri de cel mult 30 caractere de aceeași lungime care conțin doar litere mici ale alfabetului englez și construiește în memorie și apoi afișează pe ecran un cel mai bun șablon comun al lor, adică șablonul comun cu număr minim de caractere ?. &lt;br /&gt;
==Date de intrare==&lt;br /&gt;
Programul citeşte de la tastatură cele două șiruri, pe acelaşi rând, separate printr-un spaţiu. &lt;br /&gt;
==Date de ieșire==&lt;br /&gt;
Programul afişează pe ecran cel mai bun șablon comun. &lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*se consideră vocale caracterele din mulțimea {a, e, i, o, u};&lt;br /&gt;
==Exemplul 1==&lt;br /&gt;
;Intrare&lt;br /&gt;
:diamant pierdut&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele de intrare corespund restricțiilor impuse.&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;#**#??#&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
==Exemplul 2==&lt;br /&gt;
;Intrare&lt;br /&gt;
:tttttt mmmmm&lt;br /&gt;
;Ieșire&lt;br /&gt;
:Datele de intrare nu corespund restricțiilor impuse.&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;
#0135 - Sablon&lt;br /&gt;
def compare_strings(a, b):&lt;br /&gt;
    result = &amp;#039;&amp;#039;&lt;br /&gt;
    for i in range(len(a)):&lt;br /&gt;
        if (a[i] in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;]) and (b[i] in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;]):&lt;br /&gt;
            result += &amp;#039;*&amp;#039; # daca ambele caractere sunt vocale, adaugam un asterisc&lt;br /&gt;
        elif (a[i] in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;]) and (b[i] not in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;]):&lt;br /&gt;
            result += &amp;#039;?&amp;#039; #daca primul caracter este vocala, iar al doilea nu este, adaugam un semn de intrebare&lt;br /&gt;
        elif (a[i] not in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;]) and (b[i] in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;]):&lt;br /&gt;
            result += &amp;#039;?&amp;#039; #daca primul caracter nu este vocala, iar al doilea este vocala, adaugam un semn de intrebare&lt;br /&gt;
        else:&lt;br /&gt;
            result += &amp;#039;#&amp;#039; #daca ambele caractere nu sunt vocale, adaugam un diez&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    a, b = input().split()&lt;br /&gt;
    #verificarea restrictiilor&lt;br /&gt;
    if len(a) &amp;lt;= 30 and len(b) &amp;lt;= 30 and any(char in [&amp;#039;a&amp;#039;, &amp;#039;e&amp;#039;, &amp;#039;i&amp;#039;, &amp;#039;o&amp;#039;, &amp;#039;u&amp;#039;] for char in a + b):&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse.&amp;quot;)&lt;br /&gt;
        result = compare_strings(a, b)&lt;br /&gt;
        print(result)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restricțiilor 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>Adina Timiș</name></author>
	</entry>
</feed>