<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem 2-to-nie-3</title>
<link>https://forum.pasja-informatyki.pl/tag/2-to-nie-3</link>
<description>Powered by Question2Answer</description>
<item>
<title>Problem z kodem, najpierw c[0]=2, następnie okazuje się że c[0] = 3 ?!</title>
<link>https://forum.pasja-informatyki.pl/415815/problem-z-kodem-najpierw-c-0-2-nastepnie-okazuje-sie-ze-c-0-3</link>
<description>

&lt;p&gt;Witam, mam bardzo dziwny problem, otóż w pierwszym while wartość c[0] = 2, jednakże bez zmieniania wartości nagle okazuje się że c[0]=3, powie mi ktoś jakim cudem? Dane wejściowe to a=12 oraz b=48.&lt;/p&gt;



&lt;p&gt;jest to program do NWD.&lt;/p&gt;



&lt;p&gt;Program najpierw rozkłada na czynniki pierwsze te liczby i dla a zapisuje te wartości do kolejnych tablic zmiennej c, a dla b do tablicy zmiennej d. Trzeci while robi to samo jak się chce wyzn. NWD i ma się te dwie liczby rozłożone na czynniki pierwsze, czyli poprostu szuka wspólnych liczb pierwszych wydzielonych z obu liczb. Poza tym myślę że wiecie jak sięwyznacza NWD :) Wykształcenie podst. wystarczy. KONTROLA ozn. że wstawiłem tam cout żeby sprawdzić czy robi się prawidłowo to co się robi.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
int j=0,c[j],d[j],s=1,i=2;

    //if(a==1 || b==1) return s;

    while(a!=1){
        if(a%i==0){
            a=a/i;
            j++;
            c[j-1]=i;
            cout&amp;lt;&amp;lt;c[j-1]&amp;lt;&amp;lt;endl;//KONTROLA
        }
        else i++;
    }
    cout&amp;lt;&amp;lt;&quot;-----------------------\n&quot;;//KONTROLA
    j=0;
    i=2;
    while(b!=1){
        if(b%i==0){
            b=b/i;
            j++;
            d[j-1]=i;
            cout&amp;lt;&amp;lt;d[j-1]&amp;lt;&amp;lt;endl;//KONTROLA
        }
        else i++;
    }
    cout&amp;lt;&amp;lt;&quot;-----------------------\n&quot;;//KONTROLA
    cout&amp;lt;&amp;lt;j&amp;lt;&amp;lt;&quot;\n\n\n&quot;;//KONTROLA


    int m=0,n=0;
    while(m&amp;lt;j || n&amp;lt;j){
        cout&amp;lt;&amp;lt;s&amp;lt;&amp;lt;&quot;pierwsze&quot;&amp;lt;&amp;lt;endl;//KONTROLA
        cout&amp;lt;&amp;lt;m&amp;lt;&amp;lt;&quot;- - -&quot;&amp;lt;&amp;lt;n&amp;lt;&amp;lt;endl;//KONTROLA
        cout&amp;lt;&amp;lt;c[0]&amp;lt;&amp;lt;&quot;- [] -&quot;&amp;lt;&amp;lt;d[0]&amp;lt;&amp;lt;endl;//KONTROLA

        if(c[m]==d[n]){
            s=s*c[m];
            m++;n++;}

        else if(c[m+1]==d[n]){
            s=s*c[m+1];m+=2;n++;}

        else if(c[m]==d[n+1]){
            s=s*c[m];n+=2;m++;}
    }&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/415815/problem-z-kodem-najpierw-c-0-2-nastepnie-okazuje-sie-ze-c-0-3</guid>
<pubDate>Thu, 21 Feb 2019 21:35:28 +0000</pubDate>
</item>
</channel>
</rss>