Zakres materiału: Wskaźniki, tablice, "typ" łańcuchowy. (5 pkt)
prm4
utworzyć nowy projekt zad1
i do głównego pliku projektu skopiować zawartość pliku źródłowego zad1.c i zapoznać się z działaniem programu.malloc
i free
.dodaj
tworzona jest kopia ciągu znakowego nowe_imie_nazwisko
? Co się stanie, gdy zamiast lini 21-23 wykona się przypisanie dane[indeks]=nowe_imie_nazwisko
(wykomentować wtedy linię 144)?malloc
do wyniku działania funkcji strlen
dodaje się jeden?indeks
zmieni się na unsigned int
(zwrócić uwagę na zapis warunku pętli w liniach 86-87).char* dane[MAX][2]
)prm4
utworzyć nowy projekt zad2
i do głównego pliku projektu skopiować zawartość pliku źródłowego zad2.cUtworzyć program, który podmieni słowa we wpisanym zdaniu. Użyć dynamicznego przydziału pamięci na zapis nowego zdania. W tym celu zaimplementować i wykorzystać funkcję, która zwróci nowopowstałe zdanie:
Przykładowe wyniki działania programu:
Prosze wpisac tekst:
Ala ma kota.
Prosze wpisac slowo i zamiennik:
kota psa
W zdaniu "Ala ma kota." zamienie slowo "kota" na "psa"
Nowy napis: "Ala ma psa."
Prosze wpisac tekst:
Ala ma psa i kota.
Prosze wpisac slowo i zamiennik:
psa chomika
W zdaniu "Ala ma psa i kota." zamienie slowo "psa" na "chomika"
Nowy napis: "Ala ma chomika i kota."
Prosze wpisac tekst:
Ala ma kota.
Prosze wpisac slowo i zamiennik:
hipopotama psa
W zdaniu "Ala ma kota." zamienie slowo "hipopotama" na "psa"
Nie ma slowa do zamienienia!
Nowy napis: "Ala ma kota."
Założenia:
Podpowiedzi:
<string.h>
, zawiera on przydatne funkcje i stałe:
char* strstr(char* str1, char* str2)
- funkcja znajdująca wskaźnik na pierwsze wystąpienie słowa w słowie, bądź zwracająca NULL
char* strncat(char* destination, char* source, int n)
- funkcja dodajaca do slowa destination
pierwsze n
znaków słowa source
Utworzyć program, który z liter danego słowa stworzy przepis na stworzenie drugiego zadanego słowa. Użyć dynamicznego przydziału pamięci na zapis przepisu. Zaimplementować funkcję, która zwróci tablicę z indeksami wystąpień odpowiednich liter:
Przykładowe wyniki działania programu:
Prosze wpisac zrodlo i slowo:
kosodrzewina drzewo
Przepis na slowo:
d 5
r 6
z 7
e 8
w 9
o 2
Prosze wpisac zrodlo i slowo:
kosodrzewina sianko
Przepis na slowo:
s 3
i 10
a 12
n 11
k 1
o 2
Prosze wpisac zrodlo i slowo:
kosodrzewina hipopotam
Nie da sie ulozyc slowa!
Założenia:
Podpowiedzi:
<string.h>
, zawiera on przydatne funkcje i stałe:
char* strchr(char* str, char character)
- funkcja znajdująca wskaźnik na pierwsze wystąpienie litery w słowie, bądź zwracająca NULL
Utworzyć program, który usunie za podanego zdania wszystkie słowa zawierające zadany ciąg znaków. Użyć dynamicznego przydziału pamięci na zapis nowego zdania. W tym celu zaimplementować i wykorzystać funkcję, która zwróci nowopowstałe zdanie:
Przykładowe wyniki działania programu:
Prosze wpisac tekst:
Ala ma kota i nie ma psa.
Prosze wpisac ciag znakow:
nie
Nowy napis: "Ala ma kota i ma psa."
Prosze wpisac tekst:
Ala ma kota i nie ma psa.
Prosze wpisac ciag znakow:
ma
Nowy napis: "Ala kota i nie psa."
Założenia:
Podpowiedzi:
<string.h>
, zawiera on przydatne funkcje i stałe:
char* strstr(char* str1, char* str2)
- funkcja znajdująca wskaźnik na pierwsze wystąpienie słowa w słowie, bądź zwracająca NULL
char* strncat(char* destination, char* source, int n)
- funkcja dodajaca do slowa destination
pierwsze n
znaków słowa source