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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 12:00 | Zajímavý projekt

Projekt Termbox umožňuje vyzkoušet si linuxové distribuce Ubuntu, Debian, Fedora, CentOS a Arch Linux ve webovém prohlížeči. Řešení je postaveno na projektu HyperContainer. Podrobnosti v často kladených dotazech (FAQ). Zdrojové kódy jsou k dispozici na GitHubu [reddit].

Ladislav Hagara | Komentářů: 1
dnes 11:00 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě CVE-2016-8655 v Linuxu zneužitelné k lokální eskalaci práv. Chyba se dostala do linuxového jádra v srpnu 2011. V upstreamu byla opravena minulý týden [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 22:00 | Komunita

Přibližně před měsícem bylo oznámeno, že linuxová distribuce SUSE Linux Enterprise Server (SLES) běží nově také Raspberry Pi 3 (dokumentace). Obraz verze 12 SP2 pro Raspberry Pi 3 je ke stažení zdarma. Pro registrované jsou po dobu jednoho roku zdarma také aktualizace. Dnes bylo oznámeno, že pro Raspberry Pi 3 je k dispozici také nové openSUSE Leap 42.2 (zprávička). K dispozici je hned několik obrazů.

Ladislav Hagara | Komentářů: 5
včera 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 33
včera 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 9
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 17
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 18
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 6
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 774 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: pole generátoru čísel

21.1.2011 20:38 Grim
pole generátoru čísel
Přečteno: 357×
Zdravím mám dotaz.

1/ Mám generátor čísel a potřebuju aby se každé z nich zobrazilo jen xkrát, a pokud to překročí x aby to generovalo znovu.

Pokud jste mě někdo nepochopil tak mám třeba generátor čísel od 1 do 10 a potřebuju aby se klasicky generovali čísla. Ale zároven chci aby se každé generovalo jen 4x. Takže pokud by se z generátoru znovu vyhodilo číslo 7 už po páté tak aby se generovalo znovu dokud o nenarazí na číslo které ještě nebylo 4x.

Řešení dotazu:


Odpovědi

poky74 avatar 21.1.2011 20:42 poky74 | skóre: 36 | blog: Zápisník | Vrchlabí
Rozbalit Rozbalit vše Re: pole generátoru čísel

To je zase dotaz.

Prozradíš nám alespoň jazyk v kterém to chceš udělat?

Chcete Linuxové samolepky nebo Tuxe na klíče? ->
21.1.2011 20:47 Grim
Rozbalit Rozbalit vše Re: pole generátoru čísel
Omlouvám se... v Javě, celý program v pohodě a toto je jen detail
21.1.2011 21:21 l4m4
Rozbalit Rozbalit vše Re: pole generátoru čísel
V Javě neumím, ale pokud čísel není moc, nejjednodušší řešení vypadá takto (v Pythonu, což by mělo být stejně čitelné jako slovní popis):
import random

def generate():
    numbers = []
    while True:
        if not numbers:
            numbers = list(range(10))
            random.shuffle(numbers)
        yield numbers.pop()

# And now simply generate the numbers
for x in generate():
    print x
Alternativně jde při každém kroku vygenerovat posici ve seznamu zbývajících čísel, odpovídající číslo vrátit, na tuto posici přesunout poslední číslo a seznam zbývajících čísel zkrátit.

Má-li být rozsah generovaných čísel tak velký, že toto jednoduché řešení nelze použít, jsou jiné možnosti, ale to chce znát něco o zamýšlené aplikaci.
21.1.2011 21:41 Grim
Rozbalit Rozbalit vše Re: pole generátoru čísel
Python vůbec neznám a moc jsem z toh zápisu ani nepobral, ale pokud bych to dokázal převézt do kdu v javě tak si myslím že fungovat by to mohlo
21.1.2011 21:45 l4m4
Rozbalit Rozbalit vše Re: pole generátoru čísel
V Javě to bude asi hrozně ukecané... Prostě si vždy držíš seznam čísel, která jsi tentorkát ještě nevrátil. Vrátíš jedno z nich a ze seznamu zahodíš. Když je seznam prázdný, naplníš ho znovu. Randomizaci lze provést buď při plnění seznamu, nebo při vybírání, jak jsem popsal.
21.1.2011 22:25 Grim
Rozbalit Rozbalit vše Re: pole generátoru čísel
vůbec tě takhle nedokážu pochopit nejspíš by to chtělo stručný návod krok od kroku a nebo od někoho jiného ale díky za snahu
21.1.2011 22:46 Dejv | skóre: 36 | blog: Jak ten blog nazvat ... ? | Ostrava
Rozbalit Rozbalit vše Re: pole generátoru čísel

Ahoj.

Ten python jsem taky moc nepobral, takze spis odhaduju z toho slovniho popisu, ze to probiha zhruba takto:

  1. Napln Pole o velikosti 4*Pocet_Cisel (napr. hodnotami 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5 ... atd.)
  2. Vygeneruj si Nahodne_Cislo v rozsahu Dolni_Index_Pole - Horni_Index_Pole. Toto Nahodne_Cislo tvori index do pole.
  3. Vyjmi z pole hodnotu na indexu Nahodne_Cislo a tuto hodnotu vrat jako vysledek.
  4. Opakuj kroky 2 a 3, dokud je v Poli alespon jedna hodnota

Jestli jsem se netrefil, tak snad me autor opravi :-)

Dejv

Pevne verim, ze zkusenejsi uzivatele me s mymi napady usmerni a poslou tam, kam tyto napady patri...
21.1.2011 23:02 l4m4
Rozbalit Rozbalit vše Re: pole generátoru čísel
Jak jsem to původně napsal, to neřeší to čtyřnásobení (asi) podle zadání. Takže co píšeš, je nejjednodušší metoda. Předpokládá, že 4 (multiplicita) i 10 (rozsah) jsou přijatelně malá čísla.

Bod 3 se provede přesunutím posledního prvku na posici vyňaté hodnoty, aby se pokaždé nepřesouvala půlka pole.

Algoritmy použitelné, když jsou multiplicita či rozsah velké, nebudu řešit, protože to stejně zjevně nedovedu napsat, aby to tazatel pochopil...
21.1.2011 23:18 Grim
Rozbalit Rozbalit vše Re: pole generátoru čísel
no tohle už chápu akorát nevím jak v Javě definovat pole a tu část s těma indexama jestli jsem pochopil dobře tak ty čísla nejdou všechny v polovině je mezera ale to už byse dořešilo
22.1.2011 10:27 Grim
Rozbalit Rozbalit vše Re: pole generátoru čísel
nebo takhle pole mám ale jak z něho odečítat hodnoty pomocí asi tří generátorů, tím pádem ty čísla mi vycházej po třema proměnnýma
22.1.2011 11:00 l4m4
Rozbalit Rozbalit vše Re: pole generátoru čísel
Každý generátor, který má generovat (nezávislou) sekvenci s předepsanými vlastnostmi, musí mít vlastní pole.

I když spíš... WTF? Kde se tu najednou vzaly tři generátory?
22.1.2011 12:29 Grim
Rozbalit Rozbalit vše Re: pole generátoru čísel
na počtu generátorů ted nezáleží, ale jak mám udělat pole čísel z kterých by se odebírali čísla a pokud by tam nebylo znovu vygenerovat další číslo, jen toto mě právě zajímá
22.1.2011 12:55 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: pole generátoru čísel
Řekl bych, že jsi nepochopil princip. Z generátoru neleze konkrétní čislo, ale index do pole. Vlastní hodnotu pak bereš z pole a zajistíš, aby už nebyla nikdy příště vybrána (vymazáním prvku a přerovnáním pole, změnou intervalu, ve kterém se může pohybovat index, variant je více...). Takže žádné "a případně vygenerovat další číslo". Jinak nemusí jít nutně o pole a o tom, jak se dělá a pracuje v Javě s polem najdeš netu x tisíc článků a tutoriálů.
Překladač ti nikdy neřekne: "budeme kamarádi"
wamba avatar 22.1.2011 12:17 wamba | skóre: 37 | blog: wamba
Rozbalit Rozbalit vše Re: pole generátoru čísel
v perlu by to mohlo vypadat třeba takhle
use List::Util qw{shuffle};

my @numbers = (1..10)x4; #do @numbers dej 4x čísla 1..10
say join " ",shuffle(@numbers); #zamíchej tyto čísla a vytiskni je

tedy pokud chce permutace s opakováním, pro variace stačí vzít prvních n prvků.

popř. by šla použít přímo nějaká knihovna na permutace (variace) s opakováním

This would have been so hard to fix when you don't know that there is in fact an easy fix.
22.1.2011 12:23 l4m4
Rozbalit Rozbalit vše Re: pole generátoru čísel
A v shellu takhle:
echo -n {1..10}{,,,}$'\n'|shuf
ale to už se dostáváme off-topic ;)

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.