c# pomoc s kodem

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

vik822
Level 1.5
Level 1.5
Příspěvky: 123
Registrován: srpen 12
Pohlaví: Muž
Stav:
Offline

c# pomoc s kodem

Příspěvekod vik822 » 17 úno 2014 20:13

Dobrý den, zkouším si dělat v C# a jsem začátečník, dělám program, že z 5 čísel nejvyšší a nejnižší smaže a zbylé sečte v grafickém prostředí, udělal jsem to co mám v příloze, ale když napíšu víc stejných čísel, tak nefunguje, jinak jo. Vím, že to není úplně šťastné řešení, ale jsem rád, že jsem něco vyplodil, jen nevím jak to ošetřit. Prosím o radu a nebo i návrh na lepší řešení, děkuji :))
Přílohy
1.png
2.png

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7400
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod faraon » 17 úno 2014 20:19

A nebylo by lepší použít pole a ta čísla nejdřív seřadit?
Nebo aspoň těch pět proměnných projít a extrémy vyhodit někam bokem, tak abys pracoval jen s tím tvým rozmezím?
"Král Lávra má dlouhé oslí uši, král je ušatec!

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

vik822
Level 1.5
Level 1.5
Příspěvky: 123
Registrován: srpen 12
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod vik822 » 17 úno 2014 20:21

Jo určitě si myslím, že přes pole by to bylo lepší, ale ještě je moc neumím :D nevim jak bych to zapsal, s tím mam problém největší :D

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: c# pomoc s kodem

Příspěvekod domitea » 17 úno 2014 20:23

Kam přesně zadáváš ty stejná čísla? Ono totiž, když se porovnávají pouze vůči jedné známce a né ještě mezi sebou, tak to někdy takhle nefunguje ;)

P.S: Na zdrojáky tu je tag [code] :smile:

vik822
Level 1.5
Level 1.5
Příspěvky: 123
Registrován: srpen 12
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod vik822 » 17 úno 2014 20:28

Tady je to v grafice, když zadam takhle ty 3 čísla stejné, tak se to po.... :D jinak to funguje, asi je teda musim nějak porovnat, ale nevim jak :D
Přílohy
3.png

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: c# pomoc s kodem

Příspěvekod domitea » 17 úno 2014 20:33

Naházíš do kolekce (nebo seznamu), zavoláš nějaký sort, poslední změníš na nulu a všechny sečteš.... Je to kanón na vrabce, ale takhle se to dnes dělá. Pro tebe to ale je odstrašující příklad!

Počkej si na Faraona, ten ti napíše krásnou esej na seřazení ;)

vik822
Level 1.5
Level 1.5
Příspěvky: 123
Registrován: srpen 12
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod vik822 » 17 úno 2014 20:37

Nejspíš budu potřebovat doučování :D když to je odstrašující, tak by se to dělat nemělo? :D proč se to dnes tedy dělá? :D nějaký kontakt, abych mu mohl napsat do zpráv? :) díky :)

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: c# pomoc s kodem

Příspěvekod domitea » 17 úno 2014 20:41

Počkej si na něj, on odpoví ;)

Na to tohle je vhodné pole (float[] cisla = new float[5]). Potom pomocí napsané funkce na setřídění (tady postačí BubbleSort) si čísla setřídíš. Potom budeš mít na posledním místě to nejnižší číslo (nebo na prvním, podle toho jak si to napíšeš ;) ) a místo něj dáš 0, potom pomocí cyklu uděláš součet a máš to ;)

vik822
Level 1.5
Level 1.5
Příspěvky: 123
Registrován: srpen 12
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod vik822 » 17 úno 2014 20:58

dobře díky, počkám na něj :) dneska už to nechám :D stejnak nevim jak tam ten bubble sort přidat nějak :D

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: c# pomoc s kodem

Příspěvekod Sender » 17 úno 2014 21:05

C# neumím,ale napsat to v jiným programovacím jazyce by byla sranda.Řešil bych to tak,že bych čísla srovnal (porovnání v cyklu) a pak s nimi pracoval podle potřeby.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7400
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod faraon » 18 úno 2014 04:04

Když ještě neumíš pole, tak to zkusíme přímo s proměnnými. Pro přehlednost si je přejmenuji na A,B,C,D,E. Pak budeš potřebovat ještě nějakou dočasnou na prohazování obsahů, třeba T jako temp.
Po zadání všech pěti čísel (šlo by to i během zadávání) si je projdeš a porovnáš s krajními, uděláme to tak že v A bude nejmenší a v E největší, na pořadí zbylých B,C,D tentokrát nezáleží, z těch jen vypočítáš výsledek.
Z toho je vidět že ty krajní s ničím porovnávat nemusíš, stačí tedy otestovat ty tři uprostřed, a pokud je potřeba, prohodit je s krajními:

Takhle to provedeš pro vyhození minima z B do A:

Kód: Vybrat vše

if (B < A)
   {
   T = A;
   A = B;
   B = T;
   }

Takhle pro vyhození maxima z B do E:

Kód: Vybrat vše

if (B > E)
   {
   T = E;
   E = B;
   B = T;
   }

To samé musíš potom udělat i s C a D. Kdybys měl pole a prováděl to cyklem, nemusel bys to vypisovat třikrát za sebou ;-)
Když v nich bude nové minimum nebo maximum, tak se prohodí s tím bývalým, takže se nakonec může stát že se čísla mezi sebou proházela úplně, pokud by to mělo něčemu vadit, musel by se vymyslet jiný postup.

Pokud tam budeš mít víc stejných čísel, tak se samozřejmě do těch krajních vyhodí jen jedno z nich a ostatní zůstanou uvnitř, s tím počítej.

A než to naťukáš do počítače, zkus si to nejdřív ručně na stole. Nastříhej si pět lístečků, na ně napiš různá čísla, zamíchej je, a potom s nimi prováděj tenhle postup. Vyzkoušej to několikrát pro různé kombinace, ať vidíš co se přesně v tom programu děje.
"Král Lávra má dlouhé oslí uši, král je ušatec!

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

vik822
Level 1.5
Level 1.5
Příspěvky: 123
Registrován: srpen 12
Pohlaví: Muž
Stav:
Offline

Re: c# pomoc s kodem

Příspěvekod vik822 » 22 úno 2014 15:12

Díky moc du se na to podívat jestli to nějak dokážu předělat, každopádně mohl byste mi říci jak by se to udělalo přes ty pole? nebo nějakým bubble sortem? :)) děkuju.

--- Doplnění předchozího příspěvku (22 Úno 2014 15:38) ---

Super, funguje to, ale teď bych se ještě rád naučil jak to zkrátit přes ty pole a cykly, vážně bych byl moc vděčný, ale i tak to stačí, díky moc :))


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pomoc při taktu Příloha(y)
    od ondyN » 14 led 2025 15:53 » v Taktování a další úpravy PC
    2
    8107
    od Dyonysos Zobrazit poslední příspěvek
    14 led 2025 16:19
  • Pomoc s webem
    od Tay » 09 úno 2025 15:53 » v Web-tipy a vaše weby
    5
    37063
    od Tay Zobrazit poslední příspěvek
    10 úno 2025 12:09
  • Pomoc s výběrem notebooku na hry
    od Ghoust23 » 23 zář 2024 08:25 » v Rady s výběrem hw a sestavením PC
    4
    4738
    od petr22 Zobrazit poslední příspěvek
    24 zář 2024 07:32
  • PC do 20k (pomoc s dovýběrem komponent)
    od insider » 27 zář 2024 16:46 » v Rady s výběrem hw a sestavením PC
    11
    5440
    od insider Zobrazit poslední příspěvek
    03 říj 2024 09:03
  • Pomoc se zpomaleným notebookem
    od trefort » 29 zář 2024 14:02 » v Problémy s hardwarem
    8
    3353
    od atari Zobrazit poslední příspěvek
    30 zář 2024 10:04

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 2 hosti