Největší v poli polí – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Největší v poli polí – Java – Fórum – Programujte.comNejvětší v poli polí – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Noneus0
Návštěvník
16. 5. 2013   #1
-
0
-

Zdravím, potřeboval bych co nejjednodušeji docílit toho, aby mi to našlo a vypsalo pouze největší číslo z polí. (v tomto případě 500)  Díky moc

int[][] pp = {
            {1, 2, 3, 4, 5},
            {10, 20, 30, 40, 50},
            {100, 200, 300, 400, 500},
        };
       
       
        for (int ii = 0; ii < pp.length; ii++) {
            int [] p = pp[ii];
            for (int i=0; i < p.length; i++) {
                System.out.println(p[i]);
            }
          
        }
    }
}

Nahlásit jako SPAM
IP: 94.143.172.–
KIIV
~ Moderátor
+43
God of flame
16. 5. 2013   #2
-
0
-

minimalne budes muset dat ten vypis mimo... a jako dalsi krok promennou na to maximum + a hodit tam novou hodnotu jen kdyz je prvek vetsi nez hodnota v promenne maximum

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
20. 5. 2013   #3
-
0
-

#2 KIIV
Tak předpokládám, že bych tam měl hodit něco ve smyslu

int roz = 0;

if (roz < p[i]) {

roz = p[i]}

Nejsem si ale jistý kam to zašoupnout

Nahlásit jako SPAM
IP: 94.143.172.–
Noneus0
Návštěvník
20. 5. 2013   #4
-
0
-

A tohle moc nechápu

int[][] pp = {
            {1, 2, 3, 4, 5},
            {10, 20, 30, 40, 50},
            {100, 200, 300, 400, 500},
        };
       
       
        for (int ii = 0; ii < pp.length; ii++) {
           
            int [] p = pp[ii];
            for (int i=0; i < p.length; i++) {
                int roz = 0;
                if (roz < p[i]) {
                roz = p[i];
            }
                System.out.println(roz);
            }
          
        }

Jakto, že to nevypíše jen tu největší, která se má ukládat do proměnné roz? Nemělo by to pokaždé menší hodnotu přepsat tou větší?

Nahlásit jako SPAM
IP: 94.143.172.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2013   #5
-
0
-

kdyz pominu to ne zrovna sedici odsazovani...

takze mas cyklus, kterym prochazis jednotlive radky...

v nem mas cyklus, kterym prochazis sloupce v tech radcich... na tydle urovni mas jednu hodnotu...  a ted tam mas na stejne urovni vypis hodnoty roz.. co je horsi, tak tam mas nejen vypis hodnoty roz, ale ty roz pokazde vynulujes a srovnas s aktualni hodnotou v poli...

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
20. 5. 2013   #6
-
0
-

#5 KIIV
Takže by int roz=0 měl být před tím, než se začnou procházet ta pole?

Nahlásit jako SPAM
IP: 94.143.172.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2013   #7
-
0
-

#6 Noneus
To taky... Jeste by mel byt vypis za tim jak se pole projdou ... nevypisovat pro kazdy prvek (ikdyz takhle by to aspon ukazalo, ze to funguje)

+ Co kdyz budes mit jen zaporna cisla v matici? Pak ti tam zustane nula, protoze je vetsi nez nejvetsi cislo, ktere tam mas

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
20. 5. 2013   #8
-
0
-

#7 KIIV
Sakra, jsem z toho jelen. Nemůžeš prosím nahodit nějaký příklad? Třeba i jen podobný, abych to pochopil. Díky moc

Nahlásit jako SPAM
IP: 94.143.172.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2013   #9
-
0
-

tak tu ted zkus popsat, jak premejslis o tom co mas udelat... popis myslenkovy pochody....

at vime, na cem sme

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
20. 5. 2013   #10
-
0
-

#9 KIIV
Tak každopádně nechápu, jak tam nasoukat tu proměnnou roz. Když dám int roz=0; před to než začnu procházet pole (pp) a za druhé procházení (p) dám if (roz<p[i]), tak by to mělo vyhodit tu největší, ne? Přece roz začíná nulou a při procházení pole se do ní uloží pokaždé číslo, které se právě prochází a další, jestli je větší(což v tomhle případě je každé další větší), by mělo to předchozí nahradit tím větším. Kde je chyba? Nebo to takhle jednoduše nejde, jen tam vložit tohle? Fakt to nechápu. A mimochodem, díky za trpělivost, jsem hroznej.

Nahlásit jako SPAM
IP: 94.143.172.–
KIIV
~ Moderátor
+43
God of flame
20. 5. 2013   #11
-
0
-

no tak nejak.. urcite potrebujes to roz vypsat az po skonceni prochazeni ... ne to vypisovat pri kazdym prvku...

dale se to dela tak, ze do roz nedavas nejaky cislo ale prvni cislo z pole (pak pokud je nejvetsi, tak ho zadny dalsi neprepise a pokud je mensi tak se prepise vetsim.. a tak dokola)

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
21. 5. 2013   #12
-
0
-

#11 KIIV
Takže int roz=0; tam vůbec nebude a místo toho by to mělo být asi tak?  int roz=p[i]   to asi taky ne, to by tam byl ten roz vlastně zbytečnej, ne?

Nahlásit jako SPAM
IP: 94.143.172.–
Řešení
KIIV
~ Moderátor
+43
God of flame
21. 5. 2013   #13
-
0
-
Vyřešeno Nejlepší odpověď

misto toho by melo byt neco jako  int roz = p[0][0];  pred forama... a za nima bude vypis... jakmile ti to vypise vicero hodnot, mas to na spatnym miste... maximum je jen jedno

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
21. 5. 2013   #14
-
0
-

#13 KIIV

Super, moc dík a ještě jednou dík za trpělivost 

Nahlásit jako SPAM
IP: 94.143.172.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

3. největší hodnota v poli — založil Jan Kalina

Hledání v poli polí — založil jaxx19

Pathfiding ve 2D poli — založil Jowany

Seřazení polí — založil soudruh

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý