Java a řazení čísel

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Java a řazení čísel

Příspěvek od Sender »

Stačí na to cyklus a v něm ta čísla přehazovat.
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Java a řazení čísel

Příspěvek od faraon »

Sender: Nejjednodušší by bylo ta čísla cyklem načítat a zároveň zatřiďovat, ale na to je potřeba pole, které ještě neumí.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Java a řazení čísel

Příspěvek od Sender »

Nepotřebuje pole,když vytvoří funkci na přehození.
V proměnný bude mít něco jako
a=55
b=99
c=72

takhle by to vypadalo v Delphi (javu neumím,sorry):
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,a1,b1,c1:byte;
begin
a:=55;
b:=99;
c:=72;

while (a>b) or (b>c) or (a>c) do
begin
if a>b then
begin
a1:=a;b1:=b;a:=b1;b:=a1;
end;
if b>c then
begin
b1:=b;c1:=c;b:=c1;c:=b1;
end;
if a>c then
begin
a1:=a;c1:=c;a:=c1;c:=a1;
end;
end;
Pro přehlednost je tam o jednu proměnnou víc než je třeba.Cyklus se provádí tolikrát,než jsou čísla seřazena od nejmenšího k největšímu.
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Java a řazení čísel

Příspěvek od domitea »

Sender: Tak to jde taky, ale je mrhání výkonem :lol:
Faraon: Nemusí na to být pole, vezmu dvě a hned je porovnám, popř. přehodím. A dále to půjde analogicky, jen s dvěmi podmínkami :wink: Pak by to bylo na 4 proměnné a 3 podmínky.
Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Java a řazení čísel

Příspěvek od Sender »

domitea> proč výkonem ? V tomhle případě jde cyklus pouze jednou a skončí.
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Java a řazení čísel

Příspěvek od domitea »

Sender: Zkus si napsat cyklus v ASM a pak zjistíš, že ne vždy to je vhodné řešení. :wink:
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Java a řazení čísel

Příspěvek od CZechBoY »

Sender:ukaž vývoják, to delphi je strašně nepřehledný, jsem zvyklej minimálně na odsazení a když ne tak aspoň složený závorky, potom si to odsazení udělám strojově :D
Pole není potřeba pro 3 prvky, ale bude asi víc podmínek.
Já bych v projektu do školy klidně použil ten kod jak psal autor, sice to je celkem dlouhý, ale se zanořením a odsazením to bude v pohodě.
Kdyby bylo dostupné pole tak bych v JAVĚ použil Array.sort!
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Java a řazení čísel

Příspěvek od Sender »

CZechBoY>ono je to o tom,na co je kdo zvyklý.
Zjednodušil jsem to pomoncou funkcí zamen(..);
Přílohy
0000.png
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Java a řazení čísel

Příspěvek od CZechBoY »

Proč tam je teda ten cyklus, když to proběhne max 1x?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: Java a řazení čísel

Příspěvek od faraon »

Sender: Na zdroják použij tlačítko Code, ať se v tom dá číst. A co kdybys to místo zbytečného cyklu udělal prostě tohle:

Kód: Vybrat vše

 if a>b then
  begin
   w:=a;a:=b;b:=w;
  end;
 if b>c then
  begin
   w:=b;b:=c;c:=w;
   if a>b then
    begin
     w:=a;a:=b;b:=w;
    end;
  end;

Možná ti to nepřijde, ale jsou programy kde podobnou činnost musíš provádět milionkrát za sekundu, a potom je docela rozdíl jestli budeš mít výsledek za několik minut nebo několik hodin ;-)
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)
Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Java a řazení čísel

Příspěvek od Sender »

CZechBoY> Pokud by ta čísla byla např. a=100 b=70 c=20 ,tak jsou potřeba dva cykly.
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: Java a řazení čísel

Příspěvek od CZechBoY »

Asi jsem blbě přečetl jednu tvoji větu :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Odpovědět

Zpět na „Programování a tvorba webu“