6 - Pole variabilní délky a textové řetězce
Pole variabilní délky
Procvičovaná témata
1D pole variabilní délky
pointer
Úkoly na cvičení
Napište program, který provede inicializaci 1D pole. Velikost pole zadá uživatel ze standardního vstupu. Protože se jedná o inicializaci za běhu programu, je třeba zkompilovat program s podporou standardu C99.
Pole naplňte celými čísly ze standardního vstupu.
Doplňte program tak, aby prošel pole pomocí cyklu a vypsal jednotlivé prvky pole. Zkuste napsat cyklus tak, aby program vypsal pole ve více sloupcích.
Napište funkci, která vypíše prvky pole, které je jejím argumentem. Funkci implementujte v přechozím programu.
Textové řetězce
size_t strlen(const char *str)
int strcmp(const char *str1, const char *str2)
int strncmp(const char *str1, const char *str2, size_t n)
Úkoly
Definujte textový řetězec “Everybody likes PRP” a vypište ho. Následně vypište z tohoto řetězce pouze “likes PRP” a nakonec řetězec změňte na “Tom likes PRP” a vypište ho. Přemýšlejte, jak to provést nejúsporněji.
Naprogramujte funkce strlen, strcmp a strncmp.
cat
echo "Hello world" | cat
Hello world
echo "Hello world" | cat2
world
echo "Hello world and hello again " | words
Hello
world
and
hello
again
echo "Hello world and hello again " | words-len
Hello 5
world 5
and 3 <--
hello 5
again 5
tr
echo "Hello world" | cap
hELLO WORLD
echo "Hello world" | tr 'Hl' 'Xk'
Xekko workd
echo "Hello world" | tr 'dweji' '01234'
H2llo 1orl0
echo "Hello world and hello again " | words | cap
hELLO
WORLD
AND
HELLO
AGAIN