Výsledky 1 až 3 z 3

Téma: [Java] střídání čísel v poli

  1. #1

    Unhappy [Java] střídání čísel v poli

    Zrovna s kámošem z vyššího ročníku se snažím vyřešit jeden program.
    Máte pole třeba s 30 různými jednocifernými čísly a chcete získat největší úsek (tedy index začátku a konce), kde se střídají sudá a lichá čísla za sebou.
    Pustil jsem se do toho s několika cykly v sobě, ale nakonec jsem to vzdal, protože jsem si uvědomil, že jsem to psal pro úseky, co začínají jenom na sudé číslo (a ještě blbě).
    Mohli byste prosím poradit jakou cestou se mám vydat či nejlépe napsat danou část kódu (ono vlastně kromě vytvoření pole a zobrazení indexů úseku je to (bude) asi největší část programu )

  2. #2

    Standardní Re: [Java] střídání čísel v poli

    Citace Původně odeslal Adolfik Zobrazit příspěvek
    Zrovna s kámošem z vyššího ročníku se snažím vyřešit jeden program.
    Máte pole třeba s 30 různými jednocifernými čísly a chcete získat největší úsek (tedy index začátku a konce), kde se střídají sudá a lichá čísla za sebou.
    Pustil jsem se do toho s několika cykly v sobě, ale nakonec jsem to vzdal, protože jsem si uvědomil, že jsem to psal pro úseky, co začínají jenom na sudé číslo (a ještě blbě).
    Mohli byste prosím poradit jakou cestou se mám vydat či nejlépe napsat danou část kódu (ono vlastně kromě vytvoření pole a zobrazení indexů úseku je to (bude) asi největší část programu )
    detekcni podminka na stridani liche-sude (xor) vuci predchazejicimu prvku

    tou podminkou odstartovat index pocatku a pokracovani nasledujiciho useku-budeli

    index0 a delku0 useku mit vyhledavaci a pak jeste jednou (indexMAX, delkaMAX, vychozi 0 a 0) kam se bude zapisovat nejdelsi nalezeny, cili najdu usek, jeli delsi prepisu

  3. #3

    Standardní Re: [Java] střídání čísel v poli

    To Adolfik: Myslim, ze si to moc komplikujes. Melo by stacit ty prvky jednoduse sekvencne projit a znamenat si prozatim nejlepsi nalezenou posloupnost. Tzn. neco jako:

    Kód:
        int cisla[] = { ... };
    
        int index_aktualni_prvni = 0;
        
        int index_nejlepsi_prvni = 0;
        int index_nejlepsi_posledni = 0;
        
        for (int index = 0; index < cisla.length - 1; index++)
        {
        	if (((cisla[index] + cisla[index + 1]) % 2) > 0)
        	{
        		if ((index + 1 - index_aktualni_prvni) > (index_nejlepsi_posledni - index_nejlepsi_prvni))
        		{
        			index_nejlepsi_prvni = index_aktualni_prvni;
        			index_nejlepsi_posledni = index + 1;
        		}	
        	}
        	else 
        	{
        		index_aktualni_prvni = index + 1;
        	}	
        }
    
        System.out.println("Index prvniho cisla: " + index_nejlepsi_prvni);
        System.out.println("Index poslednihgo cisla: " + index_nejlepsi_posledni);
    Abit IP35PRO || C2D E8400 || Corsair Twin2X2048-6400C4 || Zotac 8800GTS 512 || Seasonic S12-650 || Raptor 300GB w SILENTMAXX silencer
    Eizo S1910 || TERRATEC Cinergy 2400i DT || Logitech diNovo Media Desktop w MX1000 || hp LaserJet 1015
    E-MU 1212M || Myryad MI120 || Adam HM1 || CORDA HEADFIVE #470 || Sennheiser HD-650
    Neumím mluvit vznešeně, ale problémy dvou malých lidí jsou v tomhle bláznivém světě jen hromádkou fazolí. ~Dr. G. House~

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Podobná témata

  1. [JAVA] Odčítání nekonečného čísel
    Založil Adolfik v sekci fóra Programování
    Odpovědí: 6
    Poslední příspěvek: 20.05.2009, 02:24

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •