{"id":"informatyka-2014-grudzien-probna-rozszerzona/zad/3.2","paper_id":"informatyka-2014-grudzien-probna-rozszerzona","number":"3.2","points":null,"ptype":"open","subject":"informatyka","category":"probna","year":2014,"month":"grudzien","level":"rozszerzona","text":"Zadanie 3.2.\nZapisz algorytm (w postaci listy kroków lub w wybranym języku programowania),\nktóry dla danego łańcucha znaków zwraca liczbę różnych znaków.\nSpecyfikacja:\nDane:\ns - źródłowy łańcuch znaków\nWynik:\nr - liczba całkowita określająca liczbę różnych znaków w tekście s,\nzałożenie: r < 100\nMiejsce na algorytm.\nWypełnia\negzaminator\nNr zadania\n3.1.\n3.2.\nMaks. liczba pkt.\n1\n2\nUzyskana liczba pkt.","answer":null,"answer_text":"3.2.\nZa poprawny algorytm zliczania różnych znaków -\n2 punkty, w tym za:\n poprawne testowanie czy znak jeszcze nie wystąpił,\nlub zapis nowego znaku do zbioru - 1 punkt,\n poprawne określenie liczebności zbioru różnych\nznaków - 1 punkt.\nPrzykładowe rozwiązanie 1:\nstring s = \"AAAABBBCCCBBBAAACC\";\nint n = s.length();\nchar R[100];\nint r=0;\nfor (int i=0; i<n; i++)\n{\nchar c = s[i];\nint j=0;\nwhile (j<r && R[j]!=c)\nj++;\nif (j==r)\n{\nR[j] = c;\nr++;\n}\n}\ncout<<r<<endl;\nPrzykładowe rozwiązanie 2:\nwymaga: #include <set>\nstring s = \"AAAABBBCCCBBBAAACC\";\nset <char> R;\nset <char> :: iterator it;\nfor (int i=0; i<s.length(); i++)\nR.insert(s[i]);\ncout<<R.size()<<endl;\n2","solution":null,"image":"img/informatyka-2014-grudzien-probna-rozszerzona/zad-3.2.webp","solution_image":null,"topics":null,"page_from":7,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":null,"text_source":"ocr","source_label":"Informatyka · Matura próbna · grudzień 2014 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura próbna","text_html":"<p>Zadanie 3.2.<br>Zapisz algorytm (w postaci listy kroków lub w wybranym języku programowania),<br>który dla danego łańcucha znaków zwraca liczbę różnych znaków.<br>Specyfikacja:<br>Dane:<br>s - źródłowy łańcuch znaków<br>Wynik:<br>r - liczba całkowita określająca liczbę różnych znaków w tekście s,<br>założenie: r &lt; 100<br>Miejsce na algorytm.<br>Wypełnia<br>egzaminator<br>Nr zadania<br>3.1.<br>3.2.<br>Maks. liczba pkt.<br>1<br>2<br>Uzyskana liczba pkt.</p>","answer_text_html":"<p>3.2.<br>Za poprawny algorytm zliczania różnych znaków -<br>2 punkty, w tym za:<br> poprawne testowanie czy znak jeszcze nie wystąpił,<br>lub zapis nowego znaku do zbioru - 1 punkt,<br> poprawne określenie liczebności zbioru różnych<br>znaków - 1 punkt.<br>Przykładowe rozwiązanie 1:<br>string s = &quot;AAAABBBCCCBBBAAACC&quot;;<br>int n = s.length();<br>char R[100];<br>int r=0;<br>for (int i=0; i&lt;n; i++)<br>{<br>char c = s[i];<br>int j=0;<br>while (j&lt;r &amp;&amp; R[j]!=c)<br>j++;<br>if (j==r)<br>{<br>R[j] = c;<br>r++;<br>}<br>}<br>cout&lt;&lt;r&lt;&lt;endl;<br>Przykładowe rozwiązanie 2:<br>wymaga: #include &lt;set&gt;<br>string s = &quot;AAAABBBCCCBBBAAACC&quot;;<br>set &lt;char&gt; R;<br>set &lt;char&gt; :: iterator it;<br>for (int i=0; i&lt;s.length(); i++)<br>R.insert(s[i]);<br>cout&lt;&lt;R.size()&lt;&lt;endl;<br>2</p>","solutions":[]}