Autor | Správa |
---|
Fórum: Assembler, C, C++, Pascal, Java Téma: Zadanie Karel - trojuholníky |
Odpovede: 2 Zobrazenia: 814
| |
Fórum: Assembler, C, C++, Pascal, Java Téma: Robot Karel |
Odpovede: 18 Zobrazenia: 2299
| |
Fórum: Assembler, C, C++, Pascal, Java Téma: Usporiadanie čísiel |
Odpovede: 26 Zobrazenia: 1047
| Složitost bych neřešil, Bubble-sort je prostě jedno z nejpomalejších řazení, ale velmi jednoduše se programuje a pokud je občas potřeba seřadit pár položek, úplně stačí. V případě jen částečně seřazeného pole se dokonce může stát že bude rychlejší než ten Quick-sort! No a zatímco Bubble-sort se dá o... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Kernel, OS, C alebo C++ |
Odpovede: 5 Zobrazenia: 608
| |
Fórum: Assembler, C, C++, Pascal, Java Téma: Ukazovatel a operator delete c++ |
Odpovede: 5 Zobrazenia: 526
| Ukazatel na NULL je ukazatel nikam * , znamená to že neobsahuje platnou hodnotu, takže na NULL můžou ukazovat třeba všechny které v programu máš. A před každou manipulací se získaným ukazatelem je potřeba zkontrolovat že v něm není NULL, jinak program spadne! Takže se dá předpokládat že delete nejdř... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: zistenie naozajstneho poctu argumentov v C [vyriešené] |
Odpovede: 19 Zobrazenia: 857
| tak asi to pridáva aj terminál... Argumenty se předávají pomocí zásobníku, takže to co prohrabáváš jsou záznamy předchozí činnosti, které budou ještě potřeba. Po spuštění programu totiž proběhne řada kroků, které pro něj připravují prostředí, a teprve potom se zavolá funkce main(). Pokud tam zkusí... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: C - viac vstupov v 1 riadku |
Odpovede: 2 Zobrazenia: 363
| Jedním scanf() můžeš načíst libovolný seznam proměnných, a je přitom dobré vědět že ta funkce vrací počet úspěšně načtených položek. Když totiž někdo místo čísla zadá písmeno, nenačte se nic a tohle je jediný způsob jak se o tom tvůj program může dozvědět!
Také se tahle vlastnost dá šikovně využít:... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Karol- Ariadnina niť [vyriešené] |
Odpovede: 1 Zobrazenia: 611
| Taková krásná úloha, a tak hnusný Karel. Co je to sakra za obludnost? TOHLE JE KAREL! :ogle:
Nejjednodušší řešení bude rekurze. Program prostě vyzkouší postupně všechny čtyři směry: pokud před Karlem není zeď, popojde a podívá se jestli je tam beeper. Když ano, zvedne ho a zavolá znovu sám sebe, j... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: C++ zadania [vyriešené] |
Odpovede: 2 Zobrazenia: 863
| Musí to být zadání nutně jen pro C++? Programovací jazyk je jenom nástroj, a zrovna tenhle je dost univerzální, takže bys v něm mohl řešit jakékoliv úlohy. Zkus se podívat sem: https://ksp.mff.cuni.cz/ S trochou snahy odtamtud vydoluješ i minulé ročníky, a než to všechno zpracuješ, tak budeš mít nej... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Príkaz na 2 a viac riadkov - C [vyriešené] |
Odpovede: 7 Zobrazenia: 532
| Ještě bych zmínil jeden způsob jak se to dá udělat, je to přehlednější než nacpat všechno do jednoho řádku. Navazující řetězce, které nic neodděluje, totiž preprocesor pospojuje dohromady:
#include <iostream>
main () { printf("Hlupy clovek sa uci na vlastnych chybach,\n" "mudry c... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Co je zle v tomto kode |
Odpovede: 3 Zobrazenia: 467
| Jo, to je celkem běžná začátečnická chyba, která se občas povede i profesionálovi :filth:
Jeden ze způsobů jak se jí vyhnout je použití Yoda conditions , kde zpřeházíš pořadí, tak jako mistr Yoda měl zpřeházená slova ve větě. Místo if (a=5) napíšeš if (5=a) a překladač samozřejmě něco takového... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Aky program pre zaciaticnika |
Odpovede: 3 Zobrazenia: 501
| Bez cyklů toho fakt moc neuděláš (možná tak největší/nejmenší ze tří čísel), mrkni na to jak se vytvářejí a roztoč kolotoč :)
Ta sbírka úloh od BX je moc pěkná, hned na základní úloze č. 8 se dá krásně vyřádit. Místo prostého rozměnění na mince naprogramuj bankomat, kam se přihlásíš číslem účtu a P... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Co znamena logicky sucet a logicky sucin |
Odpovede: 9 Zobrazenia: 1170
| Když ses to ve škole ještě neučil, tak na to prostě půjdeme logicky, použijeme k tomu matematiku kterou už znáš ;-)
Vstupy hradel se označují A a B, výstup Y. To se ti bude hodit až (jestli) se budeš trochu víc zajímat i o hardware. Tady ta písmena použiji pro označení sloupců v tabulkách.
Součin,... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Programovanie - Zaciatky |
Odpovede: 14 Zobrazenia: 1094
| To záleží jaký systém si tam nainstaluješ. V Raspbianu máš třeba Python, Scratch, C... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: [C] malloc() |
Odpovede: 29 Zobrazenia: 695
| if (fopen) if (malloc) ... else printf("Málo paměti!\n"); else printf("Soubor nelze otevřít!\n"); Ukaž jak bys to udělal ty, s goto a lépe. Samozřejmě stále tvrdím to co jsem psal hned poprvé: "Ano, goto existuje, ale nepoužívej ho dokud nebudeš psát programy které ... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: [C] malloc() |
Odpovede: 29 Zobrazenia: 695
| Úplně jednoduše, podle zásad strukturovaného programování kodifikovaných kolem roku 1960, říká se tomu vnořování: if ((pointer=malloc...)) činnost; else chyba; Podle toho co tvrdíš bych řekl, že bys měl nutně navštívit tuhle akci: http://www.root.cz/zpravicky/prednaska- ... -spagetam/
Pár těc... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: [C] malloc() |
Odpovede: 29 Zobrazenia: 695
| Chrono, nechci ti brát tvojí víru, ale goto JE nahraditelné. A to minimálně od roku 1958, kdy vznikl první návrh Algolu!
Samozřejmě že bych se bez všech těch serepetiček obešel, když mám IF a GOTO tak udělám úplné i neúplné větvení bez ELSE, udělám libovolný cyklus bez WHILE, FOR nebo DO, udělám si... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: [C] malloc() |
Odpovede: 29 Zobrazenia: 695
| Nechtěl jsem se do toho dlouhou dobu míchat, ale prostě nemůžu mlčet.
Je třeba říct že GOTO je užitečný příkaz, ale s řadou vedlejších efektů, které nejsou na první pohled zjevné. Abych nepsal romány, tak uvedu ten asi nejhorší: Nevidíš kam skáče! Zatímco break a continue jasně říkají co provedou,... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Tojuholnik v C * a - |
Odpovede: 5 Zobrazenia: 336
| Vždycky je víc způsobů jak stáhnout kočku z kůže, a tisíc programátorů napíše stejný program tisíci různými způsoby. Tak zkus u každé úlohy zapřemýšlet jestli by se nedala udělat jinak:
#include <stdio.h>
void trojuhelnik(int hvezd,int sloupcu) { int i=1,j;
do { for (j=0;j<sloupcu;++j) p... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: [C] strlen porovnanie pointeru a integeru |
Odpovede: 5 Zobrazenia: 408
| Pointer tam vlastně jeden je, a to ten název pole znaků c . Když si ho necháš vypsat jako int, dozvíš se v jakém místě paměti je tvůj řetězec uložený ;-)
Ale pokud chceš spočítat kolik malých a velkých písmen v tom načteném textu máš, musíš ho prostě cyklem projít písmenko po písmenku a každé z nic... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Operátory v C |
Odpovede: 3 Zobrazenia: 363
| Když ++ nebo -- použiješ samostatně, tak je jedno jestli je pre nebo post: ++x; je to samé jako x++;
Jenže v Céčku můžeš jedním příkazem provést několik věcí najednou, a tímhle přesně určíš v jakém pořadí se mají stát.
y = ++x; Tohle je pre , a proto se nejdřív inkrementuje, a teprve potom p... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: C-Formátovanie Výstupu (diakritika) |
Odpovede: 8 Zobrazenia: 840
| Máš zřejmě na mysli tohle:
printf("_ A \x41 %c %c %c _\n", 'A', 65, 0x41);
V terminálu ti to vypíše _ A A A A A _
Ale jestli to chceš dělat takhle, budeš muset vypisovat šestnáctkové kódy každého znaku s diakritikou podle příslušné národní kódové stránky: http://cs.wikipedia.org/wiki... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Externe kniznice |
Odpovede: 5 Zobrazenia: 549
| Pomocí <...> se inkludují systémové knihovny, které jsou součástí kompilátoru. Pomocí "..." inkluduješ ostatní, ke kterým musíš napsat cestu. Jestli máš tu knihovnu jako složku ve stejném adresáři jako zdroják, mělo by stačit #include "curl/curl.h". |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: hra v c |
Odpovede: 11 Zobrazenia: 539
| Nějaké materiály k grafice v Céčku a Allegru: http://www.smnd.sk/anino/moje/
V čistém C byl napsaný třeba Wolfenstein3D, zdrojáky jsou už pěkných pár let open source, tak se po nich můžeš kouknout a studovat ;-) |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Funkcie s premenlivým počtom parametrov v jazyku C |
Odpovede: 2 Zobrazenia: 551
| Ten Herout je totiž dvousvazkový, takže musíš sehnat druhou část té knihy, kde číslování stránek začíná tam, kde první končí. Ale hlavně ať je to stejné vydání ze stejného roku, jinak tam budou rozdíly!
Jinak tahle věc se hodí tam, kde potřebuješ napsat třeba něco jako vlastní printf(), prostě prvn... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: c++ min,max cislo a jeho pozicia |
Odpovede: 9 Zobrazenia: 1357
| Lepší a jednodušší než nějaká extrémní čísla je použít první hodnotu na kterou narazíš, a všechny ostatní s ní pak už jen porovnáváš... Tohle ti najde jen první výskyt: min=max=matice[0][0]; minr=mins=maxr=maxs=0;
for (radek=0;radek<10;++radek) for (sloupec=0;sloupec<10;++sloupec) if (matice[rad... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Pascal - While |
Odpovede: 3 Zobrazenia: 375
| Třeba takhle by to nešlo?
Kód: for i:= 1 to 10 do begin
while not Eoln do begin read(ch); ... end; readln; ...
|
|
Fórum: Assembler, C, C++, Pascal, Java Téma: co znamena ~ ? |
Odpovede: 3 Zobrazenia: 443
| Říká se tomu doplněk, prostě ti to udělá z nul v binárním čísle jedničky a z jedniček nuly. A když k tomuhle "jedničkovému" doplňku přičteš další jedničku, tak z něj uděláš "dvojkový" doplněk, což je totéž jako změna znaménka čísla. Aspoň ve dnes běžných procesorech to tak funguj... |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Vlastný engine + kompilátor |
Odpovede: 6 Zobrazenia: 466
| Možná jsi se vydal špatným směrem. Zkus si nastudovat dvě věci, historický PC Fand a Scratch. |
|
Fórum: Assembler, C, C++, Pascal, Java Téma: Asembler zrychlenie vykonavania cyklu |
Odpovede: 6 Zobrazenia: 487
| Udělej si čekací smyčku, a pokaždé když se za ní dostaneš tak sniž pro příště počet cyklů. Ale jen dokud je větší než nula |
|