abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    dnes 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 1
    dnes 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 3
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (18%)
     (16%)
     (16%)
    Celkem 190 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: C++ řešit pomocí While+pole

    8.3.2015 17:37 Zbyneczek
    C++ řešit pomocí While+pole
    Přečteno: 739×
    Je dána posloupnost celých čísel ukočená 0. Spočtěte aritmetický průměr této

    posloupnosti a zjistěte kolik čísel posloupnosti je menších než aritmetický průměr a

    kolik čísel je větších než aritmetický průměr.

    Řešení dotazu:


    Odpovědi

    8.3.2015 18:17 Johnny88
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole

    Naser si a dělej sám!

    Řešení 3× (rADOn, bezprízorný, mimi.vx)
    9.3.2015 08:45 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    9.3.2015 11:12 Jardík
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    Nezapomeň, že celá čísla jsou i čísla záporná. Jelikož v zadání není uveden rozsah možných čísel, musíš počítat s intervalem (-inf,+inf). K reprezentaci takových čísel neposkytuje standardní knihovna C++ žádné hotové řešení. Budeš potřebovat naprogramovat (předpokládám, že i toto je předmětem domacího úkolu) nějaký druh sčítání čísel s neomezeným rozsahem. Dále aritmetický průměr může být číslo, které není celé. Budeš tedy potřebovat implementovat dělení těchto čísel s neomezeným rozsahem tak, aby si mohl dostat výsledek jako zlomek. Desetinným číslům se radši vyhni. Bohužel spočení tohoto průměru je úkolem, nelze tedy jen udělat jakési dělení se zbytkem a získat tak zaokrouhlené číslo a porovnat se zadanými čísli (k čemuž bys desetinnou část opravdu nepotřeboval, protože jsou daná čísla celá. Toto řešení bude asi hodně pomalé s velkým množstvím velkých čísel. Takováto zadání jsou většinou na palici a světší o demenci vyučujících, kteří nepřemýšlí, a nebo chtějí vypéct studenty, léčí si na nich kompexy a dávají jim známku F, když ti to pak nevezme číslo 12154115516618453352400130160162612162512162619621523135243432631624323132316323123413213321605521326462432043231608520513243621859927495279583362190612126246523264616223332462152051626122190160265496245246526546265626452668182545745.
    Jendа avatar 9.3.2015 19:04 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    +1 :-D
    9.3.2015 20:24 MadCatX
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    První problém řeší GMP, jejíž použití v C++ je jednoduché, ten druhý Euklidův algoritmus. Jmenovatelem zkráceného zlomku vyjadřujícího průměr pak vynásobím všechna čísla v posloupnosti a výsledek porovnám s čitatelem téhož zlomku. V principu bych ten zlomek mohl klidně nechat ve tvaru "součet čísel v posloupnosti" / "počet čísel v posloupnosti", ale asi by bylo hezké ten průměr i zobrazit.
    Jendа avatar 9.3.2015 21:16 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    Co když se ti zadané číslo nevejde do paměti?
    9.3.2015 21:40 MadCatX
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    To se samozřejmě stát může, ale na straně algoritmu tohle IMHO můžu ošetřit maximálně vrácením nějakého E_NUM_TOO_LONG.
    10.3.2015 19:14 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    Třeba má pod stolem Turingův stoj :)
    21.3.2015 23:51 Marvin | blog: im_depressed | Gallifrey
    Rozbalit Rozbalit vše Re: C++ řešit pomocí While+pole
    A = []
    while 1:
            a = int(raw_input())
            if not a: break
    
            A.append(a)
    
    average = 1.0*sum(A) / len(A)
    
    print "Average:", average
    print ">:", len([i for i in A if i > average])
    print "<:", len([i for i in A if i < average])
    

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.