[ zpokimica @ 11.07.2006. 20:26 ] @
Trebaju mi dve funkcije:
prva da od niza S koji ima N elemenata izpitam koliko ima prostih celih brojeva;
druga da odstampam najduzi podniz parnih brojeva, datog niza S.
Molim vas da mi pomognete....

[ VRider @ 11.07.2006. 20:35 ] @
Kako? Da ti napisemo funkcije?
[ #Ninja# @ 11.07.2006. 21:01 ] @
Evo ti funkcija koja provjerava da li je broj prost, a ti je sebi preradi prema svom problemu.

Code:
bool Prost(int a)
{
    int i=1;
    bool IND=1;   // broj je prost (za sada)
    while ((i<=a/2) && (IND==1))   //nema potrebe da se provjerava djeljivost dalje od polovine
    {
        if((a%i)==0)
        {
            if (i!=1 && i!=a)
                IND=0;
        }
        i+=1;
    }
    return IND;  /* vraca se 1 ako je broj prost */
}
[ NrmMyth @ 12.07.2006. 00:07 ] @
Citat:
#Ninja#: //nema potrebe da se provjerava djeljivost dalje od polovine

provjerava se od 2 do sqrt(n) i samo sa neparnim brojevima

Citat:
druga da odstampam najduzi podniz parnih brojeva, datog niza S.

Zar to nisu svi parni brojevi u nizu?!
[ zpokimica @ 12.07.2006. 20:44 ] @
Ne, nisu to svi parni brojevi u nizu, na primer, ako je niz S= [1,2,4,5,7,9,10,12,18,16,9,11,10,8,6],
najduzi podniz parnih brojeva bio bi Sp= [10,12,18,16].

E, treba mi da mi napise neko fnukciju koja mi to pronalazi...
Unapred hvala, narode!!!


[ NrmMyth @ 12.07.2006. 22:53 ] @
Bitno je bilo za naglasiti UZASTOPNIH...
[ Kretosh @ 14.07.2006. 20:39 ] @
Evo ti funkcije:

Code:
inline bool Paran(char broj)
{
    return broj % 2 ==0 ? true : false;
}

 int* PodnizParnih(const int* Niz,int& iDuzina)
{
int iStartIndex,iDuzinaPodniza,iDuzinaNiza=iDuzina;  
for(int i=0,int TempStart=0,int TempDuzinaNiza=0;i<iDuzinaNiza;i++)
{
    if(Paran(Niz[i]) && (i+1)!=iDuzinaNiza)    //ako je paran i nije poslednji    
        ++TempDuzinaNiza;
    else 
    {
        TempStart=i-TempDuzinaNiza;
            if(TempDuzinaNiza>iDuzinaPodniza || ((i+1)==iDuzinaNiza && Paran(Niz[i]) && TempDuzinaNiza>=iDuzinaPodniza) )
        {
                iDuzinaPodniza=TempDuzinaNiza;
                iStartIndex=TempStart;
                if(Paran(Niz[i]))         
                        ++iDuzinaPodniza;            
        }
        TempDuzinaNiza=0;
    }

}

iDuzina=iDuzinaPodniza;

int *Returned=new int[iDuzinaPodniza];

for(int z=0;z<iDuzinaPodniza;z++)
    Returned[z]=Niz[iStartIndex+z];

return Returned;
}



Btw. sad sam primetio da je poruka u C forumu,mada je konverzija iz C++ u C ovde trivijalna,pa to sam uradi.
[ zpokimica @ 16.07.2006. 10:45 ] @
HVALA PUNO, PRIJATELJU!!!
Z.


---------------------------------
How low will we go? Check out Yahoo! Messenger�s low PC-to-Phone call rates.
--0-880217126-1153042855=:95285
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

<BR><BR><B><I>Kretosh &lt;[email protected]&gt;</I></B> wrote: <BLOCKQUOTE class=replbq style="BORDER-LEFT: #1010ff 2px solid; MARGIN-LEFT: 5px; PADDING-LEFT: 5px">Evo ti funkcije:<BR><BR>
Code:
inline bool Paran(char broj)<BR>{<BR>return broj % 2 ==0 ? true : false;<BR>}<BR><BR>int* PodnizParnih(const int* Niz,int&amp; iDuzina)<BR>{<BR>int iStartIndex,iDuzinaPodniza,iDuzinaNiza=iDuzina; <BR>for(int i=0,int TempStart=0,int TempDuzinaNiza=0;i<IDUZINANIZA;I++)<BR>{<BR>if(Paran(Niz/) &amp;&amp; (i+1)!=iDuzinaNiza) //ako je paran i nije poslednji <BR>++TempDuzinaNiza;<BR>else <BR>{<BR>TempStart=i-TempDuzinaNiza;<BR>if(TempDuzinaNiza&gt;iDuzinaPodniza || ((i+1)==iDuzinaNiza &amp;&amp; Paran(Niz/) &amp;&amp; TempDuzinaNiza&gt;=iDuzinaPodniza) )<BR>{<BR>iDuzinaPodniza=TempDuzinaNiza;<BR>iStartIndex=TempStart;<BR>if(Paran(Niz/)) <BR>++iDuzinaPodniza; <BR>}<BR>TempDuzinaNiza=0;<BR>}<BR><BR>}<BR><BR>iDuzina=iDuzinaPodniza;<BR><BR>int *Returned=new
 int[iDuzinaPodniza];<BR><BR>for(int z=0;z<IDUZINAPODNIZA;Z++)<BR> Returned[z]=Niz[iStartIndex+z];<BR><BR>return Returned;<BR>}<BR>
<BR><BR><BR>Btw. sad sam primetio da je poruka u C forumu,mada je konverzija iz C++ u C ovde trivijalna,pa to sam uradi.<BR><BR>--<BR>http://www.elitesecurity.org/p...R><BR>Prijave/odjave: http://www.elitesecurity.org/p...e#187292<BR><BR>Ne menjajte sledece dve linije ukoliko odgovarate putem emaila!<BR>esauth:187292:07a69f00427bb207b00a1bf7b8525e9d<BR>