$q = mysqli_query($con,"INSERT INTO logins (username,password,email) VALUES ('".$user."','".sha1($pass)."','".$email"')");
Za $email ti chýba bodka.
$q = mysqli_query($con,"INSERT INTO logins (username,password,email) VALUES ('".$user."','".sha1($pass)."','".$email"')");
Za $email ti chýba bodka.
Čaute,
Potrebujem do prestashopu naprogramovať import z XML. Z prestashopm som ešte veľa nerobil, len pred pár mesiacmi som mal poupravovať jeden iný import z XML, ktorý som ja nekódil (a ktorý bol nakódený dosť zle). Vtedy som skoro pochopil ako funguje prestashop približne, ale to som zasa zabudol. Má prestashop nejaké funkcie na pridávanie kategórii/produktov atď ? Môžte mi na to poradiť nejakú rýchlu dokumentáciu ? Potrebujem to mať čo najrýchlejšie, takže najlepšie nech sa nemusím zbytočne učiť veci, ktoré nepotrebujem.
Diki
#4 Lubo
http://www.mathopenref.com/coordpolygonarea.html
- pojem vektorový súčin tam síce nie je nikde použitý, ale je jasné, že to je ono.
#1 oxidián
Tvoj príspevok som ani celý nečítal, ale prvé, čo mi napadlo, keď som prečítal možno prvú polovicu, bolo toto: https://palma.strom.sk/12F2/S/ ... je to len úloha a dokonca sa z nejakého dôvodu nedá dostať ani ku Vzorovým ani ku Správným riešeniam, takže ti to asi nepomôže ... ale neviem, možno ti pomôže systém, ktorým také obrázky zaznačujú ... tam by ti mala nejaká jednoduchá rekurzia stačiť ... ale teda nepochopil som presne, o čo ti ide ....
Čaute,
Je mi úplne jedno, ako to bude fungovať, ale potrebujem urobiť skript, ktorý:
Tento skript by som mohol napr. dať, aby sa spustil po štarte. A teda je mi jedno, čo ti bude shell alebo python alebo hocičo. Naozaj mi nenapadá, ako by to mohlo byť. Ide to vôbec ? Diki
#3 oxidián
skôr 255/31*farba, ale to je jedno. Myslím si, že PiranhaGreg nechcel používať desatinné čísla. To, čo som napísal ja, je skoro (nie vo všetkých, ale vo väčšine prídadov) to isté, ako dolná celá hranica 255/31*farba. A stačí k tomu len zobrať číslo, nakopírovať ho do dvoch intov, pri prvom to shiftnut o 3 pozície tak, aby sa zväčšilo (nwm či je to doprava alebo doľava teraz :) ), pri druhom ho shiftnut o 2 pozície do druhej strany a potom tie čísla sčítať (dúfam že som sa nepomýlil, ale nemyslím).
#1 PiranhaGreg
Ja myslím, že by k tomu ešte trebalo pripočítať x/4 (teda samozrejme celočíselné delenie, to asi pôjde pomocou shiftovania jednoducho urobiť), teda by to bolo x*8+x/4, takto pre čísla 0-3 by to bolo +0, pre čísla 4-7 by to bolo +1, a pre čísla 28-31 by to bolo +7.
#1 HPEverest
Prečo jQuery ? Akože jQuery je super a je dobré sa to naučiť, ale ak máš fungujúci JS kód, ktorý by sa použitím jQuery nejako vôbec neskrátil, nevidím dôvod to prepisovať.
A to onDomReady si vygoogli, vlastne len celý kód daj medzi
onDomReady( function() {
a
});
Lebo to je v štvorkovej sústave (1023 je 75 v desiatkovej).
Zasláno z mobilního telefonu.
#4 ondrej39
No, ako som písal, o väčšinu týchto vecí sa mi Laravel stará (bezpečnosť, databázy, MVC, ... a málo razy tam potrebujem napísať viac ako pár riadkov PHP pod seba, takže je to prehladné a sú menšie šance, že urobím chybu ... a ešte ak používam PHPStorm ...). Takže pravdepodobne ostanem s Laravelom. Ale nemal by na toto názor aj niekto iný ? Napríklad prečo sa začali šíriť reči o tom, že PHP je zlé, nemá sa používať, často sa správa inak, ako sa má a podobne ? Počul som to od viacerých programátorov ...
#2 ondrej39
Nejde ani o "zohnanie práce". Skôr by som chcel ísť kódiť vlastný web, a poprípade práce typu: Urob mi stránku, je mi jedno ako, hlavne aby to išlo. A za druhé, skôr ma zaujímajú také veci, ako: Je PHP bezpečné ? Nestáva sa, že sa niečo správa inak ako by sa malo (teda hlavne preto, že som počul, že PHP bolo urobené zliepaním ... proste tam vždy dolepili, čo chýbalo, o nejaké štandardy sa moc nestarali. A okrem toho som počul, že PHP pri testovaní na dosť veľkom percente testov failovalo, nwm čo je na tom pravdy) ? Je oveľa pomalšie od iných jazykov ? Laravel sa mi stará o MVC tak výborne, že sa o tom moc nemusím starať a ani ma nemusí zaujímať, ako to funguje (samozrejme, používanie frameworku zhoršuje rýchlosť, ale určite nebudem nikdy nič robiť bez frameworku, je jedno v akom jazyku). Syntax nie je, samozrejme, problém. To sa naučím rýchlo. Ale zdá sa mi, že celkovo tieto jazyky fungujú pri programovaní na weby na trochu inom princípe. Takže hovoríte, že sa nemusím báť kódiť vlastný web v PHP cez Laravel ?
#22 Marek
obsahuje to o typoch premených (napr. int, long long) informácie, aké najväčšie a najmenšie čísla sa tam zmestia.
http://www.cplusplus.com/reference/climits/
Čaute,
Doteraz som programoval weby vždy len v PHP (nerobil som nič rozsiahle, asi len dva weby, ale nič ťažké ...). Pred nedávnom som sa dozvedel o výbornom PHP frameworku Laravel, s ktorým som sa začal učiť (pozrel som vcelku dosť videí, pričom som aj robil, čo tam hovorili). Lenže potom mi viacerí ľudia povedali, že PHP ako programovací jazyk na weby už upadá, nahradzuje ho Python, Java, atď. Čo si o tom myslíte ? Ešte stále väčšina webov beží hlavne na PHP. Má zmysel pokračovať s PHP a Laravelom, alebo mám čo najrýchlejšie prebehnúť na Python s Djangom ? Nechcem odísť od niečoho, s čím som strávil tak veľa času (hlavne učením sa, takže by to vyšlo nazmar), ale zasa v každom prípade si chcem vybrať tú najlepšiu možnosť, pretože teraz sa asi budem webom venovať dlhšie.
Ďakujem za vaše názory, píšte každý, čo si myslíte, aj keby už pred vami písalo 20 ľudí, aby som mal viac názorov, z ktorých si zostavím ten svoj. Naozaj sa chcem dobre rozhodnúť (lebo ten Laravel je fakt super, neveril som, že sa dá kódenie webu až tak uľahčiť až dokým som to nevyskúšal ... nechcem od toho odísť len preto, že nejaký jednotlivec si niečo myslí ... )
#1 ondrej39
No tak čo tam robí:
work = work & 0x7FFFFFFF;
Ak zoberieš hocijaký bit a daš to AND 1, tak to vráti ten bit (1&1=1, 0&1 = 0). V tom čísle 0x7FFFFFFF sú samé jednotky, len na začiatku je 0. Takže všetky bity ostanú, len prvý, v ktorom je zapísané znamienko, sa zmení na 0 (pretože 1&0=0, 0&0 = 0). Inak povedané, po spustení toho kódu: work = work & 0x7FFFFFFF; ostane vo work absolútna hodnota z work predtým.
Nikdy som z bit-mi ako takými nerobil, tak dúfam, že som sa nepomýlil.
Nepoužívaj tam:
image = new ImageArray(21);
ale:
image = new Array(22);
Nemám šajnu, čo je ImageArray, ale toto máš obyčajné pole stringov, tam ti určtie obyčajný Array stačí. A teda nie 21 ale 22, pretože obrázkov bude dokopy 22 (0-21).
A teda samozrejme počet obrázkov je počet, nie najvyšší index. Neviem, ako funguje ImageArray(), ale nemá tam byť v konštruktori tiež počet obrázkov ? To som si neni istý, ale teda do môjho kódu daj počet. Napr. pre tento kód:
image = new ImageArray(21); //si si istý, že tam nebude 22 ??
image[0] = 'obrazek1.png';
image[1] = 'obrazek2.png';
image[2] = 'obrazek3.png';
image[3] = 'obrazek4.png';
image[4] = 'obrazek5.png';
image[5] = 'obrazek6.png';
image[6] = 'obrazek7.png';
image[7] = 'obrazek8.png';
image[8] = 'obrazek9.png';
image[9] = 'obrazek10.png';
image[10] = 'obrazek11.png';
image[11] = 'obrazek12.png';
image[12] = 'obrazek13.png';
image[13] = 'obrazek14.png';
image[14] = 'obrazek15.png';
image[15] = 'obrazek16.png';
image[16] = 'obrazek17.png';
image[17] = 'obrazek18.png';
image[18] = 'obrazek19.png';
image[19] = 'obrazek20.png';
image[20] = 'obrazek21.png';
image[21] = 'obrazek22.png';
to bude 22.
#27 Jirka
Máš použiť:
var currentdate = new Date();
var imagescount = 9;
var imagenumber = Math.round((currentdate.getTime()+1) / (1000*60*60*24))%imagescount;
Do imagescount (dúfam že je to anglicky správne :D ) si len zapíš počet obrázkov.
#21 ondrej39
var currentdate = new Date();
var imagenumber = Math.round((currentdate.getTime()+1) / (1000*60*60*24))%9;
console.log(imagenumber); //vypise 5, takze presne ako Jirka hovoril, mal by sa zobrazit 6. obrazok
var imagenumber = Math.round((currentdate.getTime()+1+(1000*60*60*24)) / (1000*60*60*24))%9;
console.log(imagenumber); //vypise 6
var imagenumber = Math.round((currentdate.getTime()+1+(4*(1000*60*60*24))) / (1000*60*60*24))%9;
console.log(imagenumber); //vypise 0
Cez čo to testuješ ??
Sorry, pri písaní predošlého príspevku som klikol na zlé tlačítko "Odpovedať". Už som to z tade vyhodil.
Ten môj kód vyzerá, že funguje, nefunguje len presne o pol noci (jednu milisekundu). To sa dá napraviť jednoducho:
var currentdate = new Date();
var imagenumber = Math.round((currentdate.getTime()+1) / (1000*60*60*24))%9;
vyskúšaj:
var currentdate = new Date();
var imagenumber = Math.round(currentdate.getTime() / (1000*60*60*24))%9;
Dúfam, že som chybu neurobil, idem to ešte vyskúšať.
#12 Lorin
Mám pocit, že zadanie je: nájdi číslo najbližšie ku 100 a vypíš ho. Ak je číslo najbližšie ku 100 od 100 vzdialené x a v postupnosti je aj číslo 100-x aj číslo 100+x, tak vypíš obidve. Mám pocit, že ak sa tam niektoré z týchto čísel opakuje, tak to ma nemusí trápiť. Nakoniec som sa rozhodol spísať ten jednoduchý program, na ktorý som myslel už v mojom prvom príspevku, len som chcel, aby na to Marek prišiel sám, Dúfam, že funguje :)
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int v = 1000000000;
bool b;
int i;
while(cin>>i)
{
if(i==0)
{
cout << v << endl;
if(b)cout << 200-v << endl;
break;
}
if(i==200-v)b=true;
if(abs(100-i)<abs(100-v))
{
v = i;
b=false;
}
}
}
Premeniť to na C vôbec nebude problém, len asi bude treba namiesto bool použiť int a zmeniť načítavanie premenných.
#5 Marek
no tak ak je jedno číslo i, tak druhé bude 200-i .....
určite si musíš vytvoriť nejakú bočnú premennú (teda vlastne dve), v ktorej si budeš držať medzivýsledky.
Porozmýšlaj, aké premenné by to mohli byť a čo by si si v tom mohol držať, už sme ti tu dali paŕ návrhov...
#4 Lorin
To druhé číslo bude 200-i ako som vyššie napísal, funguje to pre ľubovolné i
#2 Lorin
Skôr by som to urobil tak, že by som si pamätal jednu z tých výsledných hodnôt a potom jeden bool, že či v tej postupnosti existuje aj ta druhá rovnako vzdialená ... lebo nemusí .. ale to je len taká poznámka .... stále to je kód na pár riadkov, je úplne jedno, ako to urobíš.
#1 PeePus
Nie
Teda minimálne ten tvoj príklad určite nie.
S unrealom nerobím ani neviem robiť, ale niekedy chcem začať a pozeral som už aj videá o tom. Napr. toto:
https://www.youtube.com/playlist?list=PL6VDVOqa_mdNW6JEu9UAS_s40OCD_u6yp
to je síce dosť konkrétny príklad, ktorý možno nerieši presne to, čo potrebuješ ... ale je tam fakt výborne vysvetlené, na akom princípe celý UE4 funguje.Na ostatné pozreš iné videá, prípadne pogoogliš.
#3 Peter125
Nechápem, čo ti vadí na tom zakrývaní. Ak máš len 2 obsahy, čo sa menia, tak sa to väčšinou robí pomocou CSS display: none. Samozrejme, ak to chceš robiť akokoľvek, čiste v PHP bez JS sa to nedá, to je asi jasné. Ak z nejakého dôvodou toto naozaj nechceš používať (napríklad preto, že tabuľky sa môžu meniť a po kliknutí chceš zobraziť najnovšiu verziu alebo preto, že nechceš, aby si hocikto mohol prečítať, čo je v tej druhej tabuľke, až dokým neklikne na button a tie kliknutia budeš niekde evidovať alebo čo ja viem), tak použi ajax s jquery (ešte máš možnosť použiť websockets, ale myslím, že to nechceš pre takúto jednoduchú vec). O jquery a ajaxe máš toho na nete veľa, stačí googliť. Asi si budeš chceť dať celú tabuľku do jedného <div>-u, keď dostaneš dáta zo servera (myslím, že v najnovšej verzii je na to funkcia done()), tak len ten div vyprázdniš a vložíš tam nový obsah pomocou jquery.
Napíš sem, čo presne bude v tých tabuľkách, stále si myslím, že pomocou jednoduchého CSS display: none to bude lepšie.
Daj si tam obidve a na jeden si daj CSS display: none a to prepinaj javascriptom.
Ak to chceš po kliknutí načítavať zo serveru, tak ajax ... vygoogli.
#7 peter
1. Grafikou to nebude, písal som, že to ide rovnako rýchlo aj na low aj na ultra
2. Nehrám po nete (mám to cracknuté, takže ani mi nebeží v pozadí nejaký uplay a pod.)
3. Písal som, že výpočet a vykreľovanie prebieha stále (kvôli tomu to určite nebude grafika), lenže rendery sa akoby ukladajú niekde do fronty keď príde lag, a keď lag skončí, všetky sa v priebehu pár milisekúnd vyberú (niekedy sa síce len akoby presuniem na miesto, kde by som mal byť, ale stále som presvedčený, že výpočty prebiehajú stále) a dokonca počas lagu funguje aj klávesnica, teda síce obraz je seknutý, hra očividne príjma príkazy z klávesnice presne ako má (teda nie že sa na konci lagu urobia všetky naraz, ale robia sa pekne v čase) .... To znamená, že je jedno, či mi to laguje, alebo nie, určitú vzdialenosť prejdem za taký istý čas, nie ako si písal ty.
Som si skoro istý, že je to tým diskom, asi kúpim nejaký malý ale rýchly disk, na ktorom budem mať len hry.
#3 RomanZ
Do tohto sa tiež moc nevyznám, ale pomohlo by mať data a systém len na inej partícii ?? Lebo teraz to mám tak, že na jednej partícii mám data a na druhej systém+programy (teda aj hry). Až doteraz som si neuvedomil, že to je zlé. Pomôže prehodiť hry na partíciu s datami, alebo je jedno, na akej to je partícii, ak ide o jeden disk ?
Čaute,
Keď hrám Far Cry 4 alebo Assassins Creed Unity (iné veľké hry som ešte neskúšal) dosť mi to laguje (akože hrať sa dá, ale niekedy proste na sekundu stopne obraz a čo je zvláštne, po tej sekunde sa zrazu strašne rýchlo pár milisekúnd hýbem a na konci som tam, kde by som mal byť ... proste akokeby sa hýbem furt, ale na chviľku stopne obraz a potom sa to snaží dobehnúť ... nechápem). Čo je na tom najvzláštnejšie, hra ide rovnako rýchlo aj na úplne low grafike a aj na najlepšej možnej (rovnako znamená takmer úplne rovnako ... ani trochu necítim zrýchlenie ak znížim grafiku). Prejavuje sa to hlavne vtedy, keď idem napríklad rýchlo autom alebo výjdem na kopec a zrazu začnem vidieť veľké územie. A aj keď mám načítavanie (ak sa rýchlo presúvam na iné miesto na mape alebo zomrem), tak keď sa to načíta a dostanem sa do hry, trvá niekedy aj 3 sekundy, dokým sa načíta prostredie okolo mňa a počas toho som seknutý. Grafická karta to teda asi nespôsobuje, RAM mám 8GB a nebýva nejaká preplnená, procesor neviem ako otestovať, či to spôsobuje, ale tiež sa mi nezdá. Čím by to mohlo byť ? Môže to byž HDD ?
Výpis zo Speccy:
Zdá sa mi to veľmi zvláštne, hlavne to, že keď stopne obraz, tak keď sa zasa rozbehne, snaží sa to dobehnúť. Možno sa absolútne mýlim, lebo nemám šajnu, ako to funguje, ale zdá sa, že hra si ani nevšíma, že obraz seká, proste stále generuje, čo sa má vykresliť, a potom tie informácie pošle do niečoho, čo má k tomu podopĺňať všetky resources a celé to poslať grafickej karte, a práve niekde tu vznikne časový sklz.
Môžte mi to niekto objasniť ? Naozaj ma zaujíma, čo sa tam vnútri vlastne deje a čo spôsobuje takéto zvláštne správanie.
Ďakujem
#5 Peter
Prečo to nedáš tiež cez POST ??
Ak to musí byť cez GET, ale nie je to niečo, čo zadá uživateľ ale vypočíta PHP, tak:
<form method="post" action="login.php?m=123">
prípadne:
<form method="post" action=<?php echo "login.php?m=".$premenna;?>>
#2 Peter
Ja som to vyskúšal a všetko ide ako má. Ale na tvojom kóde mi nie je jasná jedna vec: Keď odošleš formulár, tak budeš mať údaje len v POST. Nič v GET. Môžeš vysvetliť, na čo to "m" v GET slúži ? Lebo podľa kódu, čo si sem dal, to tam vôbec nebude.
#2 peter
Ďakujem za linky ... ale nechápem to o tej histórii. Ja som to plánoval urobiť tak, že len, čo sa klikne na link, tak poviem browseru (neviem presne ako), aby na ten link prešiel (stranka.sk/#nieco) a až potom sa spustí js na pohyb tej stránky. Vo firefoxe mi v pohode back v histórii ide cez všetko, aj cez rôzne návestia ... na iných browseroch to nerobí ? Lebo musí to fungovať tak, že ak sa napíše priamo do adress baru v browseri stranka.sk/#nieco, tak sa to načíta správne. Pôjde to ??.... dúfam že to neskrachuje na tomto. Ale nestačilo by jednoducho vždy keď broser načíta tú stránku (stranka.sk/#na_tom_nezalezi) spustiť js, ktoré skontroluje, či je niečo za # a podľa toho to načíta ?? To viem že ide ... Takže už len treba urobiť, aby sa po kliknutí na odkaz na stránke okrem tých všetkých posunov a tak zmenila aj časť v adrese za # ... Ak dám normálny <a> odkaz s href "stranka.sk/#nieco" a dám k tomu jquery onclick, ktorá načíta novú stránku a urobí posun a tak ďalej, náhodou sa samotná zmena adresy v browseri nezmení až na konci ? Ak áno, tak jednoducho nenájde potrebné návestie a nič sa nezmení .. alebo sa mýlim ??
Čaute
Mám na stránke odkazy, ale chcem to urobiť tak, že keď sa na ne klikne, tak sa stránka odznova nenačíta ale rolluje sa celá do strany a na konci rolovania tam bude to, čo sa má po kliknutí na odkaz zobraziť. Napadlo mi to riešiť takto:
1. Keď sa klikne na odkaz, zmení sa len anchor (teda časť v url za #) a hneď potom sa spustí nejaký jquery kód
2. Tento kód najprv pomocou ajaxu vygeneruje novú stránku a celú ju vloží doľava alebo doprava od súčasnej stránky . Vôbec neviem ako to urobiť, aby na predošlej stránke nebolo z novej stránky nič vidieť. Pomocou CSS ? Ako má vyzerať HTML ?
3. Všetko sa rollne na novú stránku
4. Teraz sa celá prvá stránka z HTML vymaže aby neplnila miesto a ani by nemalo ísť spoznať, že nová stránka vznikla posunutím z nejakej starej ... malo by to mať rovnaký formát, aby sa zasa z tejto novej stránky išlo rollnuť na nejakú úplne inú stránku po kliknutí na iný odkaz.
Problém môže robiť ešte to, že na starej stránke nemusím byť úplne navrchu, ale zato na novej by som na vrchu mal byť. Dalo by sa celé toto riešiť tak, že všetky veľké div-y na stránke by mali position: fixed alebo absolute (každá stránka môže obsahovať do 10 veľkých div-ov, dalo by sa to urobiť aj tak, že všetky by boli v jednom najväčšom) a stránka by bola vždy len na celú obrazovku a scrollovanie hore/dole by som riešil jquery posúvaním pozícií ? Bude to dostatočne rýchle ? Ako sa správa position:fixed alebo absolute ak sú tam záporné hodnoty ? Ako by to vlastne išlo celé urobiť tak, aby mi na stránke nikdy nevyskočil scrollbar, ale ak by niečo vychádzalo za okraj, tak by sa to proste nezobrazilo (mám pocit, že sa dá urobiť jeden obrovský div presne cez celý monitor s position: fixed a ostatné by boli jeho deti s position:absolute a overflow:hidden)
Ešte jedna poznámka: Samozrejme nechcem ajaxom načítať stránku celú, len nejakú jej kostru, potom ju zobraziť a obrázky nahradiť nejakým "loading" obrázkom a postupne by som od vrchu obrázky sťahoval a nahrádzal. Myslím, že to by malo fungovať v pohode.
Takže čo si myslíte o celom tomto prístupe ? Je to úplne zle a mám sa tomu vyhnúť, alebo si myslíte, že by to mohlo fungovať ?
Ďakujem
#1 lukas123
Nevšimol si si, že ked si písal príspevok, tak pod tým bolo napísané POUŽÍVAJ DIAKRITIKU ??
A aj keby už aj bez tej diakritiky, aspoň chyby si nemusel robiť: vodoU,vYpočítať. A nebolo by od veci aj dať začiatok vety vždy veľkým písmenom.
A za druhé: Čo z toho textu je vlastne otázka ? Väčšinou sa to označuje tak, že veta končí znakom '?' (ascii 63). Bohužiaľ v tvojom texte chýbajú aj bodky, nie len otázniky. Dopĺňanie interpunkčných znamienok do textu som si užil pred par rokmi v škole ...
A keď to budeš prepisovať skús použiť aj také veci, že nové riadky a odseky.
Tu po tebe nikto nebude lúštiť, čo si vlastne napísal (hlavne preto, že si t ty, kto chce pomôcť) ...
#1 Dary
Nie je to "práca so súbormi" ... vygoogli si aké parametre žerie tá funkcia, ktorou vytváraš/otváraš súbory, predpokladám, že tam bude nejaké pole charov ako meno súboru, tak tam nedaj priamo text, ale nejakú premennú, ktorú získaš zo vstupu (predpokladám, že načítavať reťazce vieš ...)
#1 Hanis Novák
Nečítal som tu, máš to strašne odsadené .... ale poradím ti: DEBUGUJ. V časti, kde posielaš query, si daj výpis, či sa tam vôbec dostaneš. Ak áno, skús si vypísať query a mysql_error. Ak si toto už robil, tak si to mal napísať, lebo teraz to vyzerá, akokeby len čo niečo nefungovalo a nebolo zjavné riešenie, tak si to dal na forúm, nech to za teba vyriešia ostatní. A daj sem ten kód ešte raz a poriadne odsadený a bez prázdnych riadkov, nebudem si to robiť sám ak si to ty, kto chce pomôcť. (a inak teraz som si všimol, že si ani presne nenapísal, čo sa vlastne stane, keď stlačíš odoslať ... dostaneš sa vôbec do toho PHP kódu ? .. proste daj si výpisy do každého if-u, aby si vedel, kde sa dostaneš)
#1 Lukáš
V C++ by sa to dalo urobiť pairom, neviem, či je niečo také v pascale, ale dá sa to nahradiť normálnym dvojprvkovým poľom. Urob si pole, kde každý prvok bude jedna ryba a bude to vlastne dvojprvkové pole (takže
array[1..pocet_ryb, 1..2] of String, dúfam, že je to správne, s pascalom som nikdy nerobil). Potom na tom spusti nejaký sort algoritmus , pričom keď budeš potrebovať zistiť o nejakých dvoch prvkoch, ktorý je väčší, tak najprv porovnáš druhé prvky v tom poli, a ak sú rovnaké, tak prvé.
#1 Dave
Je to veľké pole malých čísel alebo malé pole veľkých čísel ? Napíš aká je max. dĺžka poľa a min,max veľkosti prvkov.
Odstránenie rovnakých čísel znamená, že z každého čísla má ostať prvý výskyt alebo na poradí nezáleží, len tam musí byť každý prvok najviac raz ?
Čo presne nevieš ?
1. len čítaš čísla a vždy keď načítaš nepárne, tak zväčších nejakú premennú o 1 (na zistenie, či je nepárne použi modulo 2, neviem presne syntax v pascale, vygoogli)
2. Čítaš čísla a pamätáš si ich súčet, potom to podelíš ich počtom
3. Buď to ulož do poľa a 3 razy to prejdi, alebo si urob 3 premenné, v prvej budeš mať vždy najväčšie číslo, v druhej druhé najväčšie a v tretej tretie najväčšie a postupne budeš aktualizovať
Všetky 3 idú v konštantnej pamäti a lineárnom čase
#3 TB
O jazyku Delphi som doteraz nepočul :D , takže sa na to môžem pozerať len s algoritmického hľadiska. Ak tam nemáš žiadne syntatické chyby, prečo ti to nefunguje ? Ako som pochopil z tvojho prvého príspevku, procedúra Kostka funguje. Tak napíš, čo ti to robí ...
Ešte skús dať randomize každý raz v tom cykle, ale to by nemal byť problém. Potom sa pozri sem: http://stackoverflow.com/questions/9656017/strange-behaviour-of-function-sleep-used-in-repeat-until-in-delphi ... nemám šajnu, či sa ťa to týka ale možno. A hlavne si urob nejaké debug výpisy do konzoly v každom tom case v procedúre Kostka ... možno sa tam v skutočnosti dostaneš, ale už sa to z nejakého dôvodu nezobrazí (alebo zobrazí príliš rýchlo a ignoruje to sleep, pozri ten link vyššie)
#4 voty
ok, ale stále mi to vyhadzuje nejaké errory, nakoniec som sa to rozhodol celé nerobiť a použiť tam len iterator aj v štruktúre.
takto mám štruktúry:
struct A
{
vector<B>abc;
}
struct B
{
set<A>::iterator cba;
B(set<A>::iterator nCba):cba(nCba){}
}
int main()
{
set<A>S;
//nejake operacie, nakoniec mam v 2premenne
//set<A>::iterator it1,it2
it1->abc.push_back(B(it2)); //ERROR
}
Vyhadzuje to nejaký hnusný error:
passing ...(nieco) ... as 'this' argument of ... (nieco strasne dlhe, predpokladam ze to znamena funkcia push_back) ... discards qualifiers
#2 KIIV
Keď chcem iterator uložiť ako pointer, vyhadzuje mi túto chybu:
no known conversion for argument 1 from 'std::set<struktura, set_comparator>::iterator {aka std::_Rb_tree_const_iterator<struktura>}' to 'struktura*'
Bude fungovať, ak to len castnem pomocou (struktura*) ??
EDIT: nie, aj na cast vyhadzuje error .. ako to teda má byť ???
Čaute
mám set štruktúr, pričom každá inštancia štruktúry v sete si musí pamätať pointer na inú inštanciu (tiež v tom sete). Musím tam mať parameter typu set<struktura>::iterator ?? Je to docela nevýhoda, pretože tú štruktúru možno budem chceť používať aj vonku toho setu. Môžem tam dať normálne parameter typu struktura* a potom do toho priradiť to, čo vráti volanie set::find() ?? Aký bude rozdiel mať tam pointer alebo iterator ?? Čo by som s iteratorom robiť mohol ale s pointrom nie ?? (to sa pýtam preto, pretože stále nechápem, aký je vlastne rozdiel medzi iteratorom a pointrom)
Diki
http://www.mff.cuni.cz/fakulta/mfp/download/books/ksp_-_programatorske_kucharky.pdf - prva kapitola, tam to je vyborne vysvetlene
#6 hanpari
"Nerobím s pythonom" znamená, že ho nepoužívam ... to neznamená, že neviem základy. Nebudem tráviť čas s pythonom ak to zatial nepotrebujem . Myslím, že som dostatočne dobrý programátor, aby som sa dokázal naučiť základnu syntax hocijakého často používaného jazyka za pár dní. Tak či tak sú všetky z 90 percent rovnaké. A potom tu máme google.
#2 ravers
tabuľky ?? Akože databáza ?? Ak áno, tak si urob tabuľku uživateľov a tabuľku inzerátov, pričom jeden stĺpec v tabuľke inzerátov bude ID v tabuľke uživateľov (teda ak budeš mať pri inzeráte napísané, že jeho uživateľ má ID 4, tak sa pozreš do tabuľky užívateľov na prvok s ID 4 a to bude ten užívateľ). Takto to máš najlepšie, lebo ak sa niečo na uživateľovi zmení, tak stačí zmeniť na jednom mieste, celkovo bude databáza menej miesta zaberať (načo mať niektoré veci 2x) a príkazy na selectovanie sú jednoduché tiež.
#1 rimeska
Napíš, čo presne na tom nechápeš.
Načítaš vetu, po použití split() dostaneš pole slov, pomocou for cyklu pôjdeš postupne po slovách, zistíš, či je jeho dĺžka väčšia rovná 4 písmená, ak áno vypočítaš X, spustíš ďalší cyklus X razy, v ktorom si náhodne vygeneruješ 2 čísla od 1 do dĺžky slova-1, písmená na týchto indexoch swapnes (slovo[a],slovo[b]=slovo[b],slovo[a]), vypíšeš slovo + medzeru (a potom sa to pôjde robiť celé odznovu pre ďalšie slovo).
S pythonom nerobím, dúfam, že som chybu neurobil (tento algoritmus by sa dal použiť v ľubovolnom programovacom jazyku, dúfam teda, že robiť to v pythone nebude moc ťažké).
Ak nevieš, ako sa robí nejaký konkrétny krok, použi google.
Caute,
Už googlim asi pol hodinu, nemôžem nájsť, ako na Windows 8 (nie 8.1) urobiť, aby napr. ak je obraz vypnutý 5 minút, tak pri zapnutí bude potrebovať heslo. Viem urobiť, aby sa vypol obraz, ale nie, aby to chcelo heslo. Našiel som návody na windows 8.1 a aj na 7 to išlo v pohode ale tu to nemôžem nájsť.
Diki
A aj celkovo na čo sa má hlavne pozerať keď chcem mobil používať na testovanie ?? Teda ja mi jasné, že to nebude foťák a ani moc výdrž baterky a podobne, ale čo z toho ostatného je také najdôležitejšie ?
Cawte
rodičia mi kúpili na Vianoce Acer Liquid Z200 (očividne ešte pred tým ako som im povedal, že ak mi majú kúpiť nejakú slabotinu pod 300 €, nech radšej nekupujú nič). Má niekto skúsenosti s programovaním na tomto zariadení (teda testovanie na tom) alebo by mi vedel poradiť, či to pôjde, alebo či sa mám snažiť to čo najrýchlejšie predať, našporiť si a kúpiť si niečo lepšie ?? (rozmýšlam nad Nexus 5). Na android (celkovo na smartfóny) som ešte neprogramoval (teda nemám žiadne skúsenosti), ale takmer určite to robiť budem
Ďakujem
#2 Anonym
veď si to spusti a uvidíš ... neskúmal som syntatické chyby, ale zdá sa mi, že to nemá vypisovať "si veľký" ak je tam číslo od 50 do 70 (a vypisuje), to je logická chyba.... a teraz som si všimol, že aj vstup máš trochu zle napísaný. Skús takto (sorry ak tam budú syntatické chyby, s pythonom moc nerobím):
print("zadaj svoju váhu v kg:")
x = int(input());
#prvé 2 riadky sa dajú nahradiť:
#x = int(input("zadaj svoju váhu v kg:"))
if(x<50):
print("Si chudy")
elif(x>=50 and x<=70):
print("Si priemer")
else:
print("Si velky")
#1 Petr
šak si predsta aké sú všetky možnosti pre takéto intervaly. Ak je nejaké číslo v intervali 1 na číselnej osi medzi číslami v intervali 2 alebo naopak, tak sa prekrývajú (to "alebo naopak" ošetruje možnosť, že celý druhý interval patrí do prvého). Z toho si priamočiaro urob podmienku.
#2 Lubo
Nechápem, čo má robiť funkcia 4.
Inak je to:
void Funkcia01(double pole[13])
{
for(int i=0;i!=13;++i)cout << pole[i] << (i!=12?", ":"");
cout << endl;
}
void Funkcia02(double (&pole)[13])
{
for(int i=0;i!=13;++i)cin>>pole[i];
}
void Funkcia03(double (&pole)[13],double cislo)
{
for(int i=0;i!=13;++i)pole[i]-=cislo;
}
int Funkcia05(double pole[13],double cislo)
{
int pocet = 0;
for(int i=0;i!=13;++i)if(pole[i]>cislo)pocet++;
return pocet;
}
bool Funkcia07(int n)
{
if(n==2)return true;
if(n==1)return false;
for(int i=2;i!=(int)sqrt(n)+1;++i)
{
if((n%i)==0)return false;
}
return true;
}
int Funkcia06(double pole[13])
{
int pocet = 0;
for(int i=0;i!=13;++i)if((double)(int)pole[i]==pole[i] && Funkcia07((int)pole[i])) pocet++;
return pocet;
}
int Funkcia08(int m)
{
int sucet = 0;
for(int i=2,j=0;i!=m;j++)if(Funkcia07(j)){sucet+=j;i++;}
return sucet;
}
#2 Kit
Mám tabuľku závislostí (uživateľ-vec) a potrebujem vymazať n-tý záznam od konkrétneho uživateľa.
Tabuľka má teda 3 stĺpce, id uzivatel_id vec_id. na id mám auto increment (to kvôli sorteniu záznamov keď vyberiem všetky veci, ktoré má jeden uživateľ).
Práve pri písaní tohto príspevku mi napadlo, že si tam namiesto id môžem dať quantity a potom budem deletovať nie n-tú uživateľovu vec ale priamo poviem "odtrhni túto vec od uživateľa".
Pôjdem to kódiť, ešte mi napadla otázka: dá sa nejako jednoducho urobiť, aby mi vypísalo všetky veci, ktoré ma uživateľ ? Teda ak má uživateľ 2x vec '1' a 3x vec '2', tak vyhodí tabuľku z hodnotami '1','1','2','2','2' ??? Ale nie je to také súrne, zaobídem sa bez toho.
Čaute
Mám procedúru, ktorá ma v parametroch jedno číslo n. Niekde v strede procedúry potrebujem dať select, ktorý vráti jedno číslo a to je n-tý záznam z nejakej tabuľky, pre ktorý platí niečo vo where.
V MySQL >=5.5.6 to ide urobiť takto:
SELECT column FROM table WHERE podmienky ORDER BY id
LIMIT 1 OFFSET n
Ale ako to urobiť v MySQL 5.1.59, ktorú mám k dispozícii ??
#3 Flowy
OK diki ... dosť som sa s tým hral, už tomu pomaly začínam chápať .. ešte mám jednu otázku:
v tabulke objekt musím mať primary key, aby som si to mohol pamätať v tom bindery, a asi ho chcem mať nastavený na auto increment, ale teraz neviem, ako zistiť, či už riadok, čo chcem vložiť, existuje (s tým, že sa bude stĺpec ID ignorovať) a ak nie, uložiť jeho index, alebo ho vytvoriť. Skúšal som toto, ale nefunguje to (pretože kvôli tomu auto increment sa to vždy vytvorí, a tiež neviem, že aj keby sa to nevytvorilo, čo bude uložené v LAST_INSERT_ID()):
INSERT IGNORE INTO objekt VALUES(null,1,2,3);
set @objekt_id=LAST_INSERT_ID();
Diki
Čaute
V MySQL som ešte len začiatočník (no vlastne ešte niečo menej ako začiatočník) a potrebujem pomôcť ako mám navrhnúť tabuľky, ak mám niečo takéto:
Mám nápad urobiť samostatnú tabuľku pre objekty, kde bude každý pod svojou ID a tú budem postupne dopĺňať, takže budú tam len objekty ktoré sa už niekedy použili (mám pocit, že zistiť, či v tabuľke o 50 000 riadkoch je nejaký konkrétny riadok je v MySQL docela rýchle). Potom neviem, či je dobré robiť tabuľku aj pre sety, pretože tých môže byť velikánske množstvo, skôr urobiť tabuľku priamo pre zákazníkov, ale nenapadá mi žiadny spôsob, ako tam tie data ukladať (každý zákazník môže mať značný počet setov a každý set značný počet objektov ... a potrebujem sa vedieť rýchlo dostať napr. ku konkrétnemu setu alebo potrebujem set vymazať, zmeniť mu počet objektov atď... nezdá sa mi dobrý nápad to mať uložené ako stĺpce: set1_objekt1_id .... v tom sa bude strašne orientovať). Ďalší zlý nápad je asi aj robiť pre každého zákazníka samostatnú tabuľku, v čom by sa ale orientovalo oveľa lepšie, pretože každý set by mal vlastný riadok (hoci stále by som tam musel mať stĺpce objekt1_id, objekt1_x,objekt1_y), ale myslím, že počet tabuliek je limitovaný. A teraz som si aj uvedomil, že pre obidve riešenia bude problém to, že každý zákazník má iný počet setov a každý set má iný počet objektov ... ale stĺpce budú musieť byť pre každého rovnako (a budem samozrejme aj potrebovať veľmi rýchlo zistiť koľko setov má zákazník a koľko objektov má set). Ja fakt neviem ako to mám riešiť, prosím pomôžte mi ..
Ďakujem
Ešte raz som si prečítal úlohu 1, ale nejako stále nechápem. Je tam, že sa tie hodnoty vymenia, ale je tam aj to, že sa vrátia. Tak teda ktoré z toho ? Chceš to urobiť tak, že tú funkciu spustíš, nič nevráti, ale potom budú nejaké dve premenné vymenené ? To sa naozaj nedá urobiť bez pointerov (v C). Alebo to chceš tak, že v parametroch budú 2 čísla, a funkcia vráti štruktúru s dvoma číslami, pričom to prvé bude to druhé na vstupe ? To je trochu sprosté a neviem si predstaviť na čo by to bolo. Predpokladám, že si myslel to prvé. http://stackoverflow.com/questions/3377158/how-to-change-variable.
Ako myslíš "vrátiť do main" ?? akože return nejakej štruktúry (pretože pri každej úlohe musíš vrátiť viac ako jedno číslo) ? Ak to je tak, tak pointery ani nepotrebuješ.
CSS súbor asi meniť nechceš, ak áno tak by ma veľmi zaujímalo prečo.
http://stackoverflow.com/questions/1713771/how-to-detect-page-zoom-level-in-all-modern-browsers
Na smartfónoch nwm či to bude fungovať, musíš otestovať, ale skôr nie.
Ak to chceš detekovať aj keď je browser windowed a mení sa velkosť, tak je na to window.onresize, použi google.
Napíš presne čo chceš robiť, možno existuje aj jednoduchšie riešenie (ak chce user zoomovať, nemal by si mu v tom brániť, ale samozrejme, sú aj prípady, kedy to je nutné).
pozri si na nete ake velke cislo moze byt int maximalne. je to 2 na 32 minus 1. 250 znakove cislo sa tam urcite nezmesti. pouzi python3 alebo urob funkcie na robenie mat. operacii na stringoch. Aka je vlastne uloha ?
podla mna najlepsie by bolo na konci to pole este raz prejst (kedze je usporiadane, tak je jednoduche vyhodit duplicity). ano bol by to cyklus naviac, ale len s par operaciami, ktore by tam museli byt aj keby si to natlacil priamo do sortenia (a o rychlost ti asi moc nejde, ked tam mas bubble sort, nie nejaky rychlejsi)
Rozparsuj si to na cisla, to by nemalo byt zlozite, a potom to hod do mktime() a porovnaj vysledky
#1 Michal
Vôbec pýtať sa, či budeš "dobrý" z hocijakého (aj nejakého riadne premakaného) kódu, je dosť sprosté. Ale toto, čo si ukázal sú, také základné veci, že ani neviem, čo mám odpovedať. Toto sa väčšinou učí v druhej lekcii (hneď po Hello World). Jednoducho, uč sa ďalej a uvidíš, či ťa to bude baviť. Uznávam, že na programovanie treba istý talent, ale určite existujú aj ľudia s menším talentom, ktorý sa jednoducho "namakali" (akože tvrdou prácou a veeľa veeľa urobenými programami). A či ten talent máš alebo nemáš sa určite nedá zistiť z takýchto kódov. Skús sa teraz tomu venovať napr. pol roka a podľa toho, či ťa to bude baviť alebo nie dokážeš rozhodnúť, či je to marné (a či už ťa to baviť bude alebo nie, skús sa o pol orka programovania znovu pozreť na toto vlákno čo si napísal a zaručene sa na tom dobre zasmeješ).
BTW: koľko máš rokov ?
Jave sa nevenujem, ale zdá sa mi, že problém je, že porovnávaš string a desatinné číslo. Ale možno sa mýlim, nebolo by od veci dať sem aj znenie chyby.
btw kód vkladaj pomocou tlačítka zdrojový kód v možnostiach písania príspevku, bude to tak čitateľnejšie.
#2 hlucheucho
Áno jasné, double funguje, len ja som si myslel, že ten formát výpisu funguje len pre float, teraz som trochu pogooglil a zistil som, že nie. Tak teda čo znamená to %.10g a ako je možné, že tam nie je jasne určený typ premennej (ako som písal, moc sa do toho nerozumiem, ale myslím, že aj na int a long long sú rôzne formáty a musí to byť jasne určené) ?
Urobil som ešte jeden malý test ... a výsledok ma celkom prekvapil:
#include <cstdio>
using namespace std;
int main()
{
int a=10250367;
int b=18;
printf("%.10g\n",(double)a/(double)b);
double d=(double)a/(double)b;
printf("%.10g\n",d);
float c=d;
printf("%.10g\n",c);
printf("%.10g\n",c*(double)b);
}
vystup:
569464.8333
569464.8333
569464.8125
10250366.62
WAAAT ?? Prečo keď sa float prepytuje na double tak sa úplne zmení hodnota ?
Čaute
V živote som printf nepoužíval, ale v zadaní toho, čo teraz robím, sa vyžaduje používať printf a vypisovať formátom %.10g (tiež tomu moc nechápem). Na konci programu mám 2 int-y, ktoré mám vydeliť a takto vypísať.
Pri testovaní som tam mal čísla 10250367 a 18. Po vydelení mi vypísalo 569464.8125, pričom na google a windows kalkulačke mi vyhodilo 569464.83333. Keď som na kalkulačke vynásobil 569464.8125*18, vyšlo 10250366.625. A keď som spustil jednoduchý program:
#include <cstdio>
using namespace std;
int main()
{
int a=10250367;
int b=18;
printf("%.10g\n",(float)a/(float)b);
float c=(float)a/(float)b;
printf("%.10g\n",c);
printf("%.10g\n",c*(float)b);
}
výstup bol:
569464.8125
569464.8125
10250367
A teraz neviem či som ja debil a neviem používať kalkulačku, alebo sa môj komp pomýli pri delení 10 miliónov dvoj-ciferným číslom už na druhom desatinnom mieste. Veď to by vôbec nemal byť problém dokonca aj s float-om nie ??
#4 Radek
Sorry, ale o čo ti vlastne ide ?
máš tam cyklus, ktorý sa opakuje len jeden krát (noo, aj to je otázne, podľa toho, ako sa v jave správa float++, možno si to chcel napísať for (int c = 0; c < 1; c++) ) ... takže ten cyklus je zbytočný. No a v tom cykle kontroluješ, či je 'rozdiel' menší ako 19 alebo väčší ako 20, ale tesne predtým maš podmienku, že do tejto časti kódu sa dostaneš, len ak 'rozdiel' sa rovná 5, takže vždy bude menší ako 19.
Takže ak ignorujem prvé 4 riadky, tak sa program len pozre, či 'rozdiel'==5 a ak áno vypíše "Povedlo se", inak vypíše "ERROR". Takže cyklus a podmienky sú zbytočné.
Napíš čo vlastne chceš aby to robilo.
Neviem, či som správne pochopil otázke. Akože chceš vedeť akú hru je dobré urobiť tak, aby nenudila a zároveň nebola krátka ? Ale keďže vo väčšej časti textu hovoríš o jednom type hier a podobne aj v nadpise, tak mi napadlo, či náhodou nechceš urobiť hru tohto typu ale primerane obtiažnu. Ale na konci si zmienil niečo o tom, že to nemá byť 5 minútové vraždenie, takže som trošku zmätený
Ak si to nemyslel tak, že chceš urobiť hru tohto typu, tak urob puzzle hru na štýl Portal 2 alebo Quantum Conundrum - máš nejakú špeciálnu schopnosť a pomcou nej prechádzaš levely. Takýchto hier je dosť veľa, ale myslím, že aj keď sú všetky postavené na tom istom, stále sa dá súťažiť o najlepší nápad na tú schopnosť.
Pole som už veľmi dávno nepoužíval, používam STL vector ako náhradu poľa, ale raz som počul, že nie je dobrý nápad dávať veľkosť poľa nekonštantnú (teda int arr[nejaka_premenna];). Mohli by ste mi to vy lepší potvrdiť alebo vyvrátiť a vysvetliť prečo ?