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
Layo
Level 4.5
Level 4.5
Příspěvky: 1884
Registrován: únor 10
Pohlaví: Muž
Stav:
Offline

Java a řazení čísel

Příspěvekod Layo » 03 lis 2013 11:41

Zdravím,
mám problém s touhle úlohou. Nevím jak seřadit ta čísla pomocí cyklů a podmínek, nic složitějšího to asi nebude. Díky

Na vstupu dostanete tři čísla A, B, C. Vašim úkolem je bude vypsat dle velikosti od největšího po nejmenší a následně naopak.
GIGABYTE Z68XP-UD3| Intel Core i5-3570K @ 4,3Ghz + 212+EVO | HD 7950 FLEX 3GB GDDR5 1200/1650 | GEIL RAM DDR3 8GB(2x4GB) 2133Mhz | SEASONIC S12II-520W | Corsair 300R | OCZ Vertex 4 - 128GB | WD Green 2TB | Dell UltraSharp U2713HM - 27' 1440p
Macbook Pro 15'' Retina 2.0/16/256

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java a řazení čísel

Příspěvekod domitea » 03 lis 2013 15:23

Načteš do pole a pak pomocí cyklu a pár podmínek seřadíš. Žádná věda v tom není ;)

Uživatelský avatar
Layo
Level 4.5
Level 4.5
Příspěvky: 1884
Registrován: únor 10
Pohlaví: Muž
Stav:
Offline

Re: Java a řazení čísel

Příspěvekod Layo » 03 lis 2013 15:46

Pole jsme se ještě neučili... Bylo by fajn, kdyby to někdo napsal :D
GIGABYTE Z68XP-UD3| Intel Core i5-3570K @ 4,3Ghz + 212+EVO | HD 7950 FLEX 3GB GDDR5 1200/1650 | GEIL RAM DDR3 8GB(2x4GB) 2133Mhz | SEASONIC S12II-520W | Corsair 300R | OCZ Vertex 4 - 128GB | WD Green 2TB | Dell UltraSharp U2713HM - 27' 1440p
Macbook Pro 15'' Retina 2.0/16/256

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java a řazení čísel

Příspěvekod CZechBoY » 03 lis 2013 16:12

Zdravím,
se 3 číslama to je jednoduchý, ani pole/cyklus nepotřebuješ.
Jak seřadíš tyto čísla v hlavě když ti přijdou postupně?
55 99 72
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
Layo
Level 4.5
Level 4.5
Příspěvky: 1884
Registrován: únor 10
Pohlaví: Muž
Stav:
Offline

Re: Java a řazení čísel

Příspěvekod Layo » 03 lis 2013 17:22

Mě fakt nic nenapadá, ale určitě to je jednoduchý...
GIGABYTE Z68XP-UD3| Intel Core i5-3570K @ 4,3Ghz + 212+EVO | HD 7950 FLEX 3GB GDDR5 1200/1650 | GEIL RAM DDR3 8GB(2x4GB) 2133Mhz | SEASONIC S12II-520W | Corsair 300R | OCZ Vertex 4 - 128GB | WD Green 2TB | Dell UltraSharp U2713HM - 27' 1440p
Macbook Pro 15'' Retina 2.0/16/256

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java a řazení čísel

Příspěvekod CZechBoY » 03 lis 2013 17:26

Ty nevíš jak bys to seřadil? Tak mi napiš ty čísla seřazený od největšího po nejmenší.
Jestli je nenapíšeš tak počítám s tím, že to opravdu neumíš a musíš se vrátit do první třídy ZÁKLADNÍ školy.
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
Layo
Level 4.5
Level 4.5
Příspěvky: 1884
Registrován: únor 10
Pohlaví: Muž
Stav:
Offline

Re: Java a řazení čísel

Příspěvekod Layo » 03 lis 2013 17:29

Já počítám s tím, že uživatel zadá 3 čísla na vstupu, ne že si je vymyslím a dám je tam natvrdo...
GIGABYTE Z68XP-UD3| Intel Core i5-3570K @ 4,3Ghz + 212+EVO | HD 7950 FLEX 3GB GDDR5 1200/1650 | GEIL RAM DDR3 8GB(2x4GB) 2133Mhz | SEASONIC S12II-520W | Corsair 300R | OCZ Vertex 4 - 128GB | WD Green 2TB | Dell UltraSharp U2713HM - 27' 1440p
Macbook Pro 15'' Retina 2.0/16/256

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java a řazení čísel

Příspěvekod CZechBoY » 03 lis 2013 17:31

Tohle je jeden příklad z miliardy, když si pod těmi čísly představíš reálný čísla, použiješ sobě vlastní metodu řešení tohohle problému tak už převedení do kódu je hračka.
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: leden 07
Bydliště: Vysočina
Pohlaví: Muž
Stav:
Offline

Re: Java a řazení čísel

Příspěvekod Sender » 03 lis 2013 17:37

Layo > porovnáš jedno číslo s druhým od zadu a když je větší,tak je přehodíš -takhle několikrát.
Najde se několik způsobů...

Uživatelský avatar
Layo
Level 4.5
Level 4.5
Příspěvky: 1884
Registrován: únor 10
Pohlaví: Muž
Stav:
Offline

Re: Java a řazení čísel

Příspěvekod Layo » 03 lis 2013 17:51

Já to sám vyřešit umím, jenom jsem chtěl poradit s nějakým normálním způsobem. Když jsem se rady nedočkal, tak jsem to napsal idiotsky, co ty na to? Alespoň, že to funguje...
public static void main(String[] args) {
// TODO code application logic here
Scanner sc = new Scanner(System.in);
System.out.print("Zadejte A: ");
int a = sc.nextInt();
System.out.print("Zadejte B: ");
int b = sc.nextInt();
System.out.print("Zadejte C: ");
int c = sc.nextInt();
if(a>b && b>c && c<a){
System.out.println(a+" "+b+" "+c);
}
if(a>b && b<c && c<a){
System.out.println(a+" "+c+" "+b);
}
if(a>b && b<c && c>a){
System.out.println(c+" "+a+" "+b);
}
if(a<b && b<c && c>a){
System.out.println(c+" "+b+" "+a);
}
if(a<b && b>c && c<a){
System.out.println(b+" "+a+" "+c);
}
if(a<b && b>c && c>a){
System.out.println(b+" "+c+" "+a);
}
}
GIGABYTE Z68XP-UD3| Intel Core i5-3570K @ 4,3Ghz + 212+EVO | HD 7950 FLEX 3GB GDDR5 1200/1650 | GEIL RAM DDR3 8GB(2x4GB) 2133Mhz | SEASONIC S12II-520W | Corsair 300R | OCZ Vertex 4 - 128GB | WD Green 2TB | Dell UltraSharp U2713HM - 27' 1440p
Macbook Pro 15'' Retina 2.0/16/256

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java a řazení čísel

Příspěvekod CZechBoY » 03 lis 2013 18:02

Výborně, teď by to šlo zanořit do ifů, protože se ti tam některé sekvence opakují.
Třeba

Kód: Vybrat vše

if(a<b && b<c && c>a){
System.out.println(c+" "+b+" "+a);
}
if(a<b && b>c && c<a){
System.out.println(b+" "+a+" "+c);
}

lze přepsat na

Kód: Vybrat vše

if(a<b && b<c) {
if(c>a){
System.out.println(c+" "+b+" "+a);
}
else{
System.out.println(b+" "+a+" "+c);
}
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: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Java a řazení čísel

Příspěvekod faraon » 03 lis 2013 19:45

Tenhle způsob možná není úplně idiotský, ale je strašně složitý. Jednodušší bude opravdu ta čísla nejdřív seřadit, a pak vypsat na oba požadované způsoby. Takže dejme tomu že uživatel zadal výše uvedená čísla 55, 99, 72, a ty jsi už načetl. Stav proměnných tedy v tuhle chvíli je takový:

Kód: Vybrat vše

a=55
b=99
c=72

A jak je tedy nejjednodušeji seřadíš? Takhle: nejdřív první dvojici, potom druhou dvojici, a pak zase první dvojici, protože se ti mezitím mohlo stát že se nejmenší číslo přesunulo z c do b, ale ty ho potřebuješ shodit až do a. Vyměnit obsah dvou proměnných už snad umíš, stačí na to jedna pomocná proměnná, takže vystačíš se třemi if:

Kód: Vybrat vše

if (a>b) {prohodit a,b}
a tak dále...

Následují výpisy a,b,c, a c,b,a.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Jiné řazení dat ze zdroje v MS Excel na samostatných listech Příloha(y)
    od Rosta_Kolmix » 09 říj 2024 22:06 » v Kancelářské balíky
    12
    7163
    od Rosta_Kolmix Zobrazit poslední příspěvek
    18 lis 2024 20:57

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti