[Cvičení 4] [Obsah] [Cvičení 6]

Cvičení 5


Úloha 5.1

Napište program, který načte z klávesnice dva řetězce a vytvoří třetí řetězec (dynamickou alokací), do kterého spojí oba načtené řetězce spojkou a. Výsledný řetězec vytiskne na obrazovku. Program napište nejprve s využitím standardních funkcí strcpy a strcat, pak naprogramujte kopii a připojení řetězce sami pomocí cyklů jako v předešlé úloze. Oba vstupní řetězce čtěte pomocí funkce gets(char *s), uložte je do statických polí pro max. 80 znaků.
Příklad vstupu:
Jan Novák
Lucie Nováková
Odpovídající výstup:
Jan Novák a Lucie Nováková

Řešení:

Dev C++:spojeni1.dev, spojeni1.c
CodeBlocks:spojeni1.cbp, spojeni1.c
Dev C++:spojeni2.dev, spojeni2.c
CodeBlocks:spojeni2.cbp, spojeni2.c
Dev C++:spojeni3.dev, spojeni3.c
CodeBlocks:spojeni3.cbp, spojeni3.c


Úloha 5.2

Napište funkci odstran(char *s1, char *s2, char z), která odstraní z řetězce s1 všechny výskyty znaku z a výsledek uloží do řetězce s2; řetězec s1 zůstane nezměněn.

Řešení:

Dev C++:odstran_znak.dev, odstran_znak.c
CodeBlocks:odstran_znak.cbp, odstran_znak.c


Úloha 5.3

Napište funkci spoj(char *s1, char *s2, char *s3), která má tři řetězce jako parametry. První parametr je cesta k souboru (disk a adresáře), druhý parametr je název souboru. Do třetího řetězce funkce uloží spojenou cestu. Nejprve zjistí, zda je cesta ukončena znakem '\\', pokud ne, znak doplní. Využijte funkci sprintf
Příklad:
char celk_cesta[256];
spoj("C:\\Dokumenty","semestralka.c",celk_cesta);
V řetězci celková cesta bude text: C:\Dokumenty\semestralka.c

Řešení:

Dev C++:spojeni_soubor.dev, spojeni_soubor.c
CodeBlocks:spojeni_soubor.cbp, spojeni_soubor.c

Úloha 5.4

Napište program, který automaticky generuje do řetězce jména souborů ahoj1.txt, ahoj2.txt, ..., ahoj10.txt.

Řešení:

Dev C++:generovani_jmen.dev, generovani_jmen.c
CodeBlocks:generovani_jmen.cbp, generovani_jmen.c


[Cvičení 4] [Obsah] [Cvičení 6]