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: 14 srp 2012 20:02

c# pomoc s kodem

Příspěvek od vik822 »

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
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7404
Registrován: 23 pro 2010 09:23

Re: c# pomoc s kodem

Příspěvek od faraon »

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: 14 srp 2012 20:02

Re: c# pomoc s kodem

Příspěvek od vik822 »

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ů
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: c# pomoc s kodem

Příspěvek od domitea »

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: 14 srp 2012 20:02

Re: c# pomoc s kodem

Příspěvek od vik822 »

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ů
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: c# pomoc s kodem

Příspěvek od domitea »

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: 14 srp 2012 20:02

Re: c# pomoc s kodem

Příspěvek od vik822 »

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ů
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: c# pomoc s kodem

Příspěvek od domitea »

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: 14 srp 2012 20:02

Re: c# pomoc s kodem

Příspěvek od vik822 »

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: 04 led 2007 19:19
Bydliště: Vysočina

Re: c# pomoc s kodem

Příspěvek od Sender »

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: 7404
Registrován: 23 pro 2010 09:23

Re: c# pomoc s kodem

Příspěvek od faraon »

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: 14 srp 2012 20:02

Re: c# pomoc s kodem

Příspěvek od vik822 »

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 :))
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Pomoc při taktu
    od ondyN » » v Taktování a další úpravy PC
    2 Odpovědi
    9824 Zobrazení
    Poslední příspěvek od Dyonysos
  • Pomoc s webem
    od Tay » » v Web-tipy a vaše weby
    5 Odpovědi
    47059 Zobrazení
    Poslední příspěvek od Tay
  • Pomoc s výběrem
    od belphegor666 » » v Rady s výběrem hw a sestavením PC
    14 Odpovědi
    9624 Zobrazení
    Poslední příspěvek od belphegor666
  • Pomoc s výběrem komponent
    od kurkisak » » v Rady s výběrem hw a sestavením PC
    2 Odpovědi
    3901 Zobrazení
    Poslední příspěvek od kurkisak
  • Pomoc pri upgrade procesoru
    od filipo88 » » v Rady s výběrem hw a sestavením PC
    5 Odpovědi
    3882 Zobrazení
    Poslední příspěvek od petr22

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