Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Pomoc so zadaním v jazyku C

Aktivity
Avatar
ajvn270
Člen
Avatar
ajvn270:3.6.2020 18:13

Zdravím vás všetkých, potrebujem pomôcť so zadaním v jazyku C. Nájde sa niekto ochotný , kto by ho vedel zvláadnúť?(odmena istá)

Zkusil jsem: Programovať

Chci docílit: Vygenerujte 20 náhodných hodnôt x od 0 do 9999. Napíšte program, ktorý nájde hodnoty a a M, kde M je minimálne možné, tak že hašová funkcia a*x%M dáva jedinečné hodnoty (bez kolízie) pre zadané hodnoty x.

 
Odpovědět
3.6.2020 18:13
Avatar
Ondřej Šrytr:4.6.2020 0:35

Ahoj,

zkusil jsi programovat, tak proč sem nedáš svůj kód nebo rovnou nenapíšeš, v jaké fázi jsi se zasekl? Pokud jsi tu nový, měl bys vědět, že úkoly se tu tímto způsobem neřeší...

 
Nahoru Odpovědět
4.6.2020 0:35
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:4.6.2020 7:30

V opacnem pripade, kdyz zadavas praci a nemas moc penez, je lepsi pouzit google. Delnici ti take nepujdou vykopat kanal pro polozeni kabelu jen proto, ze jim to reknes, napises na forko :)

 
Nahoru Odpovědět
4.6.2020 7:30
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:4.6.2020 8:02

Jinak. Co od nas ocekavas?

  1. Mas zadani a my ho za tebe vypracujeme cele? Takhle to funguje mozna u vas v rodine a mezi kamarady, ale ne ve svete byznysu.
  2. Nebo, mas zadani a nemas vubec predstavu, jak to resit, do cpp si to uz nejak prepises sam? Tady uz je mozna diskuze na forku. Ale je potreba to napsat do zadani tematu. Protoze jinak v nasich ocich vypadas jako liny student. Lineho programatora nikdo neprijme, ani se s nim nebude bavit dlouho na pohovoru.
  3. Nebo mas neco udelane a nedunguje ti to. Tak o tom je take mozne diskutovat, kdyz pridas svuj kod. Treba jsi jen neco spatne zapsal do sesitu nebo je v knizce chyba. A nebo je v knizce chyba zamerne (tim nas mucili na zakladce v matice, ze vysledky vzadu neodpovidali zadani).

Predpokladejme 2.
" Vygenerujte 20 náhodných hodnôt x od 0 do 9999. Napíšte program, ktorý nájde hodnoty a a M, kde M je minimálne možné, tak že hašová funkcia a*x%M dáva jedinečné hodnoty (bez kolízie) pre zadané hodnoty x."

  • Potrebujes mit funkci, ktera vytvori nahodne cislo, obvykle se jmenuje random, rnd, Math.random...
  • 20 cisel, potrebujes cyklus, i_start=0, i_end=20, i_increment=1. Jmena funkci pro cykly jsou obvykle: for, while nebo goto.
  • Budes potrebovat neco porovnavat, funkce if

"Vygenerujte 20 náhodných hodnôt x od 0 do 9999."

cyklus(i=0, i<20; i++) {x = random(9999);}

hašová funkcia a*x%M

function mujHash(a,x,M) {return a * x % M}
kde
* je nasobeni
% je modulo po celociselnem deleni, pr:
7 / 2 = 3.5 (desetinne cislo, s desetinnou carkou/teckou)
7 % 2 = 3 (cele cislo), zbytek 1, zbytek = 7 - 2 * 3, to, co zbyde po deleni, kdyz vysledek ma byt cele cislo

" kde M je minimálne možné"
netusim, co to znamena, minimalne mozne z ceho? Ta veta nedava smysl. Mozna by ucitelka slovenstiny vedela poradit proc tomu tak je a jak se ta veta ma napsat spravne :)

"Napíšte program, ktorý nájde hodnoty a a M, kde M je minimálne možné, tak že hašová funkcia a*x%M dáva jedinečné hodnoty (bez kolízie) pre zadané hodnoty x."
Jestli to spravne chapu, mas udelat program, ktery bude neco hledat.
Cili, budes postupne zadavat 'a', 'M' a 'x', x mas vygenerovane prechozi casti. Pocitat hash a pokud ten hash nemas uz nekde ve slovniku (v seznamu, v poli), tak pridas novou polozku.
Nebo, jinak, vubec netusim, co by chtel zadavatel rici, ze by mel program delat. Ja bych mu to reklamoval, chtel vic informaci, popsal mu, ktere casti nerozumis. To se normalne dela, ze zakaznik neco placne slovy, ktere nedavaji dohromady moc smysl, tak se ho proste zeptas a popises mu, jak to chapes, nebo das nejake navrhy vysvetleni tech slov.

cyklus(list_x) cyklus(a) cyklus(M)
{
hash = mujHash(x, a, M);
jeHashVSeznamu(list_solution_saved, hash) ? je, preskoc : neni, pridej list_solution_saved.add(hash, x, a, M)
}
vypis seznam list_solution_saved

Ale nejsou mi jasna omezeni pro to a a M, od-do maji cykly probihat. Pro mne je to zadani nejasne.

Editováno 4.6.2020 8:02
 
Nahoru Odpovědět
4.6.2020 8:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.