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íží...
včera 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ářů: 0
včera 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ářů: 16
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ářů: 8
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ářů: 2
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
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 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Vetveni programu - rozpaznani znaku

2.10.2013 20:49 Milan
Vetveni programu - rozpaznani znaku
Přečteno: 720×
Zdravím,jak se da v zakladnim jazyku c docilit takoveho programu,aby napriklad vypsal ze : pro mala pismena napise mala pismena,pro velka pismena velka atd..

nasel jsem i zadani typovyho ukolu : Rozpoznání znaku

Téma: Větvení programu

Procvičované učivo: větvení if, větvení switch , základní vstup a výstup

Napište v jazyku C program, který pro zadaný znak slovy vypíše, o jaký znak se jedná...

Pro malá písmena vypíše program text "male pismeno" a daný znak, pro velká písmena vypíše text "velke pismeno" a daný znak, pro číslice vypíše "cislice" a daný znak. Dále pro znaky "!", "?", "*", "@", "#", "^" vypíše odpovídající text: "vykricnik", "otaznik", "hvezdicka", "zavinac", "krizek", "striska". Pokud se jedná o jiný než výše uvedený znak, vypíše program text "jiny znak".

nevím si s tim rady,byl bych moc rad za pomoc :)

Řešení dotazu:


Odpovědi

Řešení 1× (Bilbo)
2.10.2013 21:45 NN
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Pavel Herout - Ucebnice jazyka C
rADOn avatar 3.10.2013 12:07 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Taky moc doporučuju.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
3.10.2013 08:03 rastos | skóre: 60 | blog: rastos
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
FAQ. Netvrdím, že chceš, aby sme za teba riešili domácu úlohu, ale každopádne platí to, že musíš vyvinúť vlastné úsilie, ukázať kam si s ním dospel a kde si sa zasekol a potom dostaneš radu ako ďalej.
3.10.2013 09:01 DarkKnight | skóre: 24
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
a pokud by stale autor nevedel, at se podiva na aritmeticke operatory a ASCII tabulku
3.10.2013 09:14 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Proč proboha? K čemu jsou v C už třicet let funkce z ctype.h?
3.10.2013 11:47 DarkKnight | skóre: 24
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
protoze pokud to ma do skoly, tak pravdepodobne bude mit i ulohy typu "zmen velikost znaku z malych na velke, z velkych na male a z cisel na mala pismena", kde se bez ascii tabulky neobejde

nebo nedejboze uloha typu "vypis, zda vlozeny znak je v rozmezi b-y"
3.10.2013 12:30 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Pokud fakt vůbec netušíš, co v tom ctype.h je, tak se prosím dále neztrapňuj ;)

Nevylučuji, že ‚změnit čísla na malá písmena‘ lze definovat tak, aby to nebyla operace typu ‚změnit logaritmus hrušky na čínskou fázi motoru‘, ale na něco takového dojde, tak teprve má smysl opustit funkce standardní knihovny.

Učí-li se někdo nějaký jazyk, tak seznámení se se standardní knihovnou je základ. Hloubkové studium ASCII užitečné být může, ale nemusí.
3.10.2013 14:49 DarkKnight | skóre: 24
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Ja moc dobre vim, co v cctype je, spis si nejsem jisty, jestli to presne vis ty, kdyz se udajne ztrapnuju. Chces mi rict, ze napriklad funkce isalpha ti pomuze, kdyz potrebujes zjistit, jestli je znak v rozmezi dvou znaku? Navic, kdyz se vsechno resi pres ASCII.

A propos, o zadne hloubkove znalosti jsem nepsal, jak bys jinak napsal kod, ktery ti z cisel 0-9 udela a-i, kdyz ne tim, ze budes vedet, ze znak v ASCII ma urcitou pozici? (a ne, nemam na mysli reseni pres pole

Precti si nejdrive, co jsem napsal, co jsem oznacil za reseni a na co jsem reagoval. Pokud to totiz je nejaka skolni uloha, pochybuju, ze v CR existuje skola, kde by toto byl nejtezsi priklad, co se tyce operace se znaky.
3.10.2013 17:10 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Chces mi rict, ze napriklad funkce isalpha ti pomuze, kdyz potrebujes zjistit, jestli je znak v rozmezi dvou znaku?
Ne, nepomůže, taky to není to předmětem dotazu a má to mizivé smysluplné použití ve srovnání s funkcemi, které tam jsou.
jak bys jinak napsal kod, ktery ti z cisel 0-9 udela a-i,
Vůbec bych ho nepsal!

Takovou náhodnou operaci jako převod 0-9 na a-i potřebuješ možná jednou za pět let. A když už něco podobného potřebuješ, tak je to většinou složitější a řeší se např. tabulkou...
3.10.2013 09:06 gsnak | skóre: 19 | blog: gsnak
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
if (znak == 'a') printf("male pismeno\n");
if (znak == 'b') printf("male pismeno\n");
if (znak == 'c') printf("male pismeno\n");
...
if (znak == 'z') printf("male pismeno\n");
if (znak == 'A') printf("velke pismeno\n");
if (znak == 'B') printf("velke pismeno\n");
if (znak == 'C') printf("velke pismeno\n");
...
if (znak == 'Z') printf("velke pismeno\n");

DOGE: DE7q1kxqvoFek7UGWBWBt47QWJTRBqVNLL
3.10.2013 09:13 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
A když si přečteš tu Heroutovu učebnici, nebudeš to dělat takhle pitomě.
3.10.2013 09:22 Jirka
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
hihihi třeba to bylo myšleno jako trest pro autora za hloupý dotaz:-) něco jako: za trest opiš stokrát celou abecedu.-)
3.10.2013 10:16 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Můj komentář dává smysl v obou případech.
3.10.2013 09:19 Jirka
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
na to snad existuje if a funkce typu islower apod. Ty vypisované hlášky už si tam snad zvládneš dopsat sám..
Josef Kufner avatar 3.10.2013 18:29 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Btw, nezapomeň si to také otestovat se znaky jako je např. Á, č, ř, €, Ǎ, ¼, œ, DŽ, Ǣ, ⳧, Ж, Ы, Ӻ, ꙮ, Ꚗ, Ⰿ, ⰻ, ⱙ, α, Δ, Ϡ, ᚏ, ᚨ, ᛪ, ㄚ, ポ, Ꮚ, ᙱ, ✈, ➀, ❷, ➌, ➗, ➳, ⑽, ⒜, ⓽, ‰, ⁉, ☃, ☺, ♕, ♞, ♬, ⏏, ䷕, ▒, ╒, ◐, ℃, ℕ, ⅁, ℰ, ∃, ∈, ∞, ⨑, Ⅴ, ⅷ, ↇ, ⅔, ⁵, ₄, ʬ, ﬗ, ☠, ⋯
Hello world ! Segmentation fault (core dumped)
6.10.2013 21:49 prasopes
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Já už to vyřešil, ale strašně zdlouhavě, myslím, že přes switch by to bylo mnohem jednodušší a rychlejší, ale nevím, jak na to..

Josef Kufner avatar 7.10.2013 09:56 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Switch je užitečný, pokud znáš a jsi schopný vyjmenovat všechny možnosti. Při takovéto práci se znaky však kontroluješ, ze kterého rozsahu daný znak je.

Pro tvůj problém již existují hotové knihovny, ale předstírejme, že řešíš reálný problém. Protože už všecko znáš a lze to pěkně roztřídit, chceš postavit rozhodovací strom (ignoruj část o učení, strom postav ručně). Tím by jsi měl dostat celkem pěkný strom postavený z ifů s velmi jednoduchýma podmínkama. Něco jako binární vyhledávání, ale zarovnané na okraje rozsahů skupin znaků.
Hello world ! Segmentation fault (core dumped)
7.10.2013 11:25 prasopes
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
No, to jsem z toho hned chytřejší. To neexistuje žádný tutoriál pro začátečníky, co by dokázal vysvětlit i poměrně složité věci? Tutoriály z netu vysvětlují dobře, ale jen poměrně jednoduché věci. Když chce člověk poradit s něčím složitějším, dočká se tohoto. Je to třetí úloha, kterou jsme dostali v základech programování v C, a opravdu si nejsem vědom toho, že by nám ve škole někdo vysvětlil, jak tohle dělat. Ani z Heroutovy knížky jsem nepřišel na to, jak to udělat tak, abych ten kód nepsal dvě hodiny.
7.10.2013 18:46 axel
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Ta uloha ma evidentne slouzit k procviceni zakladu C syntaxe a strukturovani programu. Nejde tedy o nalezeni optimalniho reseni (optimalniho vuci cemu, v zadani neni skoro nic) a nema smysl dumat, jak by se to nejlepe delalo treba pro vicebajtove znaky (to ostatne v cistem C dokaze spravne naprogramovat pouze expert).
7.10.2013 11:08 dustin | skóre: 60 | blog: dustin
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Jak by se to řešilo i pro utf-8?
7.10.2013 11:57 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Knihovnou podporující UTF-8 ;-).
Zadání je určitě na klasickou práci s ASCII tabulkou, 2× if/else na malá a velká písmena v posledním else je jeden swicth s default-em pro jiný znak a na závěr jeden printf/cout.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
7.10.2013 12:16 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Nebo vlastně úplně stejně, jen se musí pracovat s prvním byte vstupu nebo se znakem ve větším int typu (int32 a víc).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
7.10.2013 12:31 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Pořád bys ale jako první krok dělal dekódování z UTF-8 a normalizaci, pokud bys pracoval s textem, nebo alespoň dekódování, pokuds bys pracoval s raw UTF-8 streamem.
7.10.2013 12:34 dustin | skóre: 60 | blog: dustin
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Omluv prosím nooba, jak vypadá taková normalizace?
7.10.2013 12:42 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
7.10.2013 13:31 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Neudělal, protože za prvé jsem si upravil zadání :(, aniž bych si to uvědomil a za druhé zadání hovoří o znaku - ne o textu a za třetí, pokud jsem někdy normalizoval UTF-8 text, tak jsem nevěděl, že to dělám :-) .
Výše uvedené jsem psal v mylné představě, že velké znaky jsou [A-Z] a malé [a-z], kde by to stačilo opravdu jen to, co jsem uvedl (bo UTF-8 po stodvacetsedmičku je stejné).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
7.10.2013 12:29 dustin | skóre: 60 | blog: dustin
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Takže třeba také tou ctype.h ? Fakt mě to zajímá. IMO řešit čistě ascii znaky je už dneska historie.
7.10.2013 12:40 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
A co se do toho ctype.h podívat? Nebo si přečíst diskusi a neptat se dokola na věci, které už tu padly? ctype.h je třicet let stará, je součástí C standardu a řeší klasifikaci 7bitových znaků ASCII. Na UTF-8 jsou knihovny, např. ICU, a kdejaký framework taky posktytuje Unicode funkce...
7.10.2013 12:41 potato
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
s/UTF-8/Unicode/
7.10.2013 17:28 dustin | skóre: 60 | blog: dustin
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Díky za info.
Josef Kufner avatar 7.10.2013 12:43 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Vetveni programu - rozpaznani znaku
Jednoduchým, po bytech krmeným, stavovým automatem, který by detekoval vícebajtové znaky a rovnou je třídil dle požadovaných skupin. Stejně to dělají překladače, když převádějí text na klíčová slova a jiné tokeny.
Hello world ! Segmentation fault (core dumped)

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.