[Cvičení 4] | [Obsah] | [Cvičení 6] |
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
astrcat
, pak naprogramujte kopii a připojení řetězce sami pomocí cyklů jako v předešlé úloze. Oba vstupní řetězce čtěte pomocí funkcegets(char *s)
, uložte je do statických polí pro max. 80 znaků.
Příklad vstupu:
Jan NovákOdpovídající výstup:
Lucie Nováková
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
Napište funkciodstran(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
Napište funkcispoj(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 funkcisprintf
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
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] |