Chci geek triko! Chci geek triko!
Extra 10 % bodů navíc a tričko zdarma při zadání kódu "TRIKO10"

Cvičení k 12. lekci Cečka

C a C++ Céčko Základní konstrukce C Cvičení k 12. lekci Cečka American English version English version

Unicorn College ONEbit hosting Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Následující 3 cvičení vám pomohou procvičit znalosti programování v Céčku z minulé lekce. Ve vlastním zájmu se je pokuste vyřešit sami. Pod článkem máte pro kontrolu řešení ke stažení. Ale pozor, jakmile se na něj podíváte bez vyřešení příkladů, ztrácí pro vás cvičení smysl a nic se nenaučíte :)

Pokud si opravdu nebudete vědět rady, podívejte se raději znovu do minulého tutoriálu a pokuste se na to přijít.

Jednoduchý příklad

Naprogramujte funkci, která vypíše tečky do konzole. Počet teček bude předán jako parametr funkci.

Konzolová aplikace
Kolik se ma vypsat tecek: 5
.....

Středně pokročilý příklad

Naprogramujte funkci pro zkrácení textu. Takováto funkce se nám opravdu často hodí, pokud řetězce vypisujeme např. do nějaké tabulky, která by se rozsypala, pokud by texty z buněk vytekly. Parametry funkce budou:

  • původní text
  • nová délka textu

Pokud byla původní délka textu větší než je požadovaná délka, funkce text zkrátí a napíše za něj tři tečky (nezapomeňte, že i ty se započítávají do celkové délky textu). Pokud je text kratší nebo stejně dlouhý jako zadaná délka, funkce jej vrátí tak, jak je.

Konzolová aplikace
Zadejte text na zkraceni: Ahoj svete!
Zadejte novou delku textu: 10
Nova delka: 10
Text po zkraceni: Ahoj sv...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char** argv) {

    return (EXIT_SUCCESS);
}

Pokročilý příklad

Napište funkci, která jako parametr přijme pole čísel a délku tohoto pole. V tomto poli bude mít za úkol najít tři největší prvky, sečíst je a vrátit výsledek.

Konzolová aplikace
Prohledavam pole: 1 5 9 12 16 14
Soucet trech nejvetsich prvku: 42


 

Stáhnout

Staženo 139x (138.71 kB)
Aplikace je včetně zdrojových kódů v jazyce c

 

 

Článek pro vás napsal patrik.valkovic
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Miniatura
Předchozí článek
Funkce v jazyce C
Miniatura
Všechny články v sekci
Základní konstrukce jazyka C
Miniatura
Následující článek
Struktury v jazyce C
Aktivity (12)

 

 

Komentáře
Zobrazit starší komentáře (1)

Avatar
Libor Šimo (libcosenior):8.3.2017 14:36

Asi práve preto to má názov: "Pokročilý příklad" ;-)

Odpovědět 8.3.2017 14:36
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:8.3.2017 15:01

Jak to myslíš? V předchozích dílech by mělo být vysvětleno vše potřebné. A přijít na to, že pole se předává úplně stejně jako text, protože text je pole znaků, to myslím, že šikovný čtenář může zvládnout. Programování není jednoduché, je to těžká práce a tato síť má zájem na tom, abyste byli použitelní v praxi.

Editováno 8.3.2017 15:02
Odpovědět 8.3.2017 15:01
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Odpovídá na David Čápka
Olek Kurowszky:8.3.2017 19:51

Já se na to jen snažím dívat i z druhého konce jak to může vidět třeba nováček kde vše šlo relativně dobře a třeba se mu dařilo udělat i těžké příklady a teď by mohl být malinko zmatenější (jak jsem řekl článek jako takový není vůbec špatný)

 
Odpovědět 8.3.2017 19:51
Avatar
Student C
Člen
Avatar
Student C:6. ledna 14:50

je to velice těžké na mě jako na dvanacti letého kluka který chce programovat ale nejde mu to ja jsem už 4. den ne prostředním cvičení a furt ho nechápu??????????­?????????????

 
Odpovědět 6. ledna 14:50
Avatar
Student C
Člen
Avatar
Student C:6. ledna 15:02

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void skracovac (char retezec1[250], int skraceni){
int pomoc;
char help[skraceni];
pomoc=strlen(r­etezec1);
pomoc=skraceni+3;
retezec1=help;
printf("%s...", retezec1);
}

int main()
{
char x[250];
int y;
printf("Write sentence!\n");
scanf("%[^\n]s", x);
printf("How much you want to shorten?\n");
scanf("%i", &y);
skracovac(x,y);
return 0;
}

 
Odpovědět 6. ledna 15:02
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Student C
gcx11:6. ledna 15:10

Například slovo lokomotiva (má deset znaků) a výsledná délka po úpravě by měla být třeba 7 znaků.

Původní slovo má více písmen, než kolik můžeme zobrazit, takže musíme zobrazit maximálně 7 písmen a protože to slovo budeme ořezávat, tak musíme počítat i s místem pro tři tečky.

Tím vychází, že z původního zobrazíme pouze první čtyři znaky (7 znaků můžeme nejvýše, mínus 3 znaky pro tečky)

Takže dostaneme:

Loko...

A tento postup stačí přepsat do kódu.

 
Odpovědět 6. ledna 15:10
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Student C
gcx11:6. ledna 15:12

A menší "blbá" rada. Pokud s tím začínáš, tak Cčko je pro začátek dost těžké a učení Ti půjde dost blbě. Zkus začít třeba C#, Javou nebo Pythonem.

 
Odpovědět  +2 6. ledna 15:12
Avatar
Student C
Člen
Avatar
Odpovídá na gcx11
Student C:14. února 16:05

diky za radu ale cečko je velice rozšířeny jazyk takže na c# se nehrnu a muj bracha me to učí v cečku.

 
Odpovědět 14. února 16:05
Avatar
gcx11
Redaktor
Avatar
Odpovídá na Student C
gcx11:14. února 19:05

Sice je to rozšířený jazyk, ale ne z toho důvodu, že to byl jazyk vhodný pro někoho, kdo se učí programovat.

 
Odpovědět 14. února 19:05
Avatar
Student C
Člen
Avatar
Student C:14. února 19:52

už jsem začal tak neskončím dokud ho neovládnu.

 
Odpovědět  +1 14. února 19:52
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 10 zpráv z 11. Zobrazit vše