<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem hash_map</title>
<link>https://forum.pasja-informatyki.pl/tag/hash_map</link>
<description>Powered by Question2Answer</description>
<item>
<title>Oczekiwano EOLN, wczytano EOF a oczekiwano 1</title>
<link>https://forum.pasja-informatyki.pl/556890/oczekiwano-eoln-wczytano-eof-a-oczekiwano-1</link>
<description>

&lt;p&gt;Mam pewien problem, mianowicie, sędzia oczekuje EOLN, a czasami przyjmuje EOF.&lt;/p&gt;



&lt;p&gt;Jak ten drugi błąd jestem w stanie zrozumieć to oczekiwanie EOLN nie ma dla mnie sensu.&lt;/p&gt;



&lt;p&gt;Proszę o pomoc.&lt;/p&gt;



&lt;p&gt;Zadanie:&lt;/p&gt;



&lt;p&gt;Napisz program, który wczyta listę podzielników obydwu liczb i znajdzie odpowiedź na postawione wyżej pytanie.&lt;/p&gt;



&lt;p&gt;Dane wejściowe:&lt;/p&gt;



&lt;p&gt;Pierwszy wiersz danych wejściowych zawiera jedną liczbę naturalną n oznaczającą ilość wszystkich podzielników obydwu liczb (2 ¬ n ¬ 128). Kolejny wiersz zawiera n liczb naturalnych (z zakresu od 1 do 104 ) – podzielników obydwu liczb podanych w losowej kolejności. Liczby w wierszu oddzielone są pojedynczymi odstępami.&lt;/p&gt;



&lt;p&gt;Wynik programu:&lt;/p&gt;



&lt;p&gt;Program powinien wypisać wiersz tekstu zawierający dwie liczby naturalne, których podzielniki wczytano. Liczby powinny być oddzielone pojedynczym odstępem i wypisane w kolejności nierosnącej.&lt;/p&gt;



&lt;p&gt;Przykład :&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;unordered_map&amp;gt;
#include &amp;lt;vector&amp;gt;
using namespace std;





int main()
{   
    int n;
    cin &amp;gt;&amp;gt; n;
    vector&amp;lt;int&amp;gt;tab2(n);
    unordered_map&amp;lt;int,int&amp;gt;tab;
    int w;
    for (int i = 0; i &amp;lt; n; i++) {
        cin &amp;gt;&amp;gt; w;
        tab2[i] = w;
        tab[w] = 1;
    }
   
    
    
    bool end=0;
    int b = 0;
   

    for (;;) { // main loop
        end = true;
        b = 0;

        for (auto a : tab) {// najwieksza
            if (a.second == 0) {
                continue;
            }
            else if (b &amp;lt; a.first) {
                b = a.first;
            }
        }cout &amp;lt;&amp;lt; b;

        for (auto t : tab2) { // dzielenie
            if (tab[t] == 0) {
                continue;
            }
            else if (b % t == 0) {
                tab[t] = 0;
            }

            else {
                end = false;
                tab[t] = 1;
            }
        }






        if (end == true) {
            break;
        }
        cout &amp;lt;&amp;lt; &quot; &quot;;


        //-------------------------------------

    }
    return 0;
}&lt;/pre&gt;



&lt;p&gt;Dla danych wejściowych: 12 4 2 1 1 5 10 24 8 12 2 6 3 prawidłowym wynikiem jest: 24 10 Istotnie, liczby 1, 2, 3, 4, 6, 8, 12 oraz 24 są podzielnikami liczby 24, zaś liczby 1, 2, 5 oraz 10 są podzielnikami liczby 10.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/556890/oczekiwano-eoln-wczytano-eof-a-oczekiwano-1</guid>
<pubDate>Mon, 13 Dec 2021 21:52:28 +0000</pubDate>
</item>
</channel>
</rss>