Jediný rozdíl – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jediný rozdíl – Java – Fórum – Programujte.comJediný rozdíl – 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
14. 2. 2013   #1
-
0
-

Zdravím

pořád dokola tu koumám, jak jeden problém řešit více způsoby. Když už jsem rozřešil tento:

int pole[] = {11, 9, 158, 113, 45};
        int max = 0;
        int max2 = 0;
        for (int i = 0; i < 4; i++) {
            if (pole[i] > pole[i + 1]) {
                int rozdil1 = pole[i] - pole[i + 1];
                max = rozdil1;
            } else {
                int rozdil2 = pole[i + 1] - pole[i];
                max = rozdil2;            
            }

            System.out.println(max);
        }

potřeboval bych ale poradit, jak docílím toho, aby se mi  vypsal pouze ten nejvyšší rozdíl (149) a ne všechny.

Předem díky

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

nesmis vypisovat v cyklu... a taky by to chtelo abys neprirazoval pokazdy do max... jen pokud je novej rozdil vetsi nez max...

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

#2 KIIV
pfff už z toho mám dneska hlavu jak meloun, nemohl bys prosím uvést příklad? Díky

Nahlásit jako SPAM
IP: 93.153.18.–
KIIV
~ Moderátor
+43
God of flame
14. 2. 2013   #4
-
0
-

System.out.println(max); das az za konec foru (tj. za  } )

nebudes tam mit    max = rozdil;   ale    if ( max < rozdil ) { max = rozdil; }

Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Flowy0
Věrný člen
14. 2. 2013   #5
-
0
-

namiesto porovnavania ktore pole je vecsie bude asi rozumnejsie jednoducho ich odcitat a porovnat max s ich absolutnou hodnotou

Nahlásit jako SPAM
IP: 178.41.236.–
https://github.com/Flowy
Noneus0
Návštěvník
18. 2. 2013   #6
-
0
-

A docela by mě zajímalo, jak je teď možné, že to vypisuje 68, když je největší rozdíl 149? Nejdřív to odečte 9 od 11, pak opačně (což by asi nemělo, ne?) a pak 113 od 158 ale opačně ne (což by zas mělo)

int pole[] = {11, 9, 158, 113, 45};
        int max = 0;
        for (int i = 0; i < 4; i++) {
            if (pole[i] > pole[i + 1]) {
                int rozdil1 = pole[i] - pole[i + 1];
                if (max < rozdil1) {
                    max = rozdil1;
                } else {
                    int rozdil2 = pole[i + 1] - pole[i];
                    if (max < rozdil2) {
                        max = rozdil2;
                    }

                }


            }

        }
System.out.println(max);
    }

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

vsimni si toho prvniho ifu... kde je mu asi konec? :D

  int pole[] = {11, 9, 158, 113, 45};
  int max = 0;
  for (int i = 0; i < 4; i++) {
    int rozdil = pole[i] - pole[i + 1];
    rozdil *= (rozdil<0? -1:1);
    if (max < rozdil) {
      max = rozdil;
    }
  }

takhle to mimochodem taky funguje

a taky todle funguje:

int rozdil = pole[i]<pole[i+1] ? pole[i+1]-pole[i] : pole[i]-pole[i+1];
Nahlásit jako SPAM
IP: 94.112.35.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
18. 2. 2013   #8
-
0
-

#7 KIIV
ÁÁÁ, jasně. Díky moc. Seš třída 

Nahlásit jako SPAM
IP: 93.153.18.–
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, 30 hostů

Podobná vlákna

Rozdíl??? — založil Erix

Ukazatel rozdil — založil petr

Rozdíl mezi == a is — založil Ahoj3

Rozdil v returnu — založil Jan

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ý