Zadania - seria 5

  1. Napisać funkcję, która zwraca długość podanego napisu
    int dlugosc(char* t);
  2. Napisać funkcję, która zwraca dynamicznie stworzoną kopię podanego napisu
    char* kopia(char* s);
  3. Napisać funkcję, która zlicza wystąpienia litery w podanym napisie
    int wystapienia(char* napis, char litera);
  4. Napisać funkcję, która tworzy dynamicznie sumę dwóch podanych napisów
    char* suma(char* a, char* b);
  5. Napisać funkcję, która zwraca wynik porównania dwóch napisów (w porządku leksykograficznym): 1 jeśli pierwszy jest większy, -1 jeśli jest mniejszy, 0 jeśli są równe
    int porownaj(char* s, char* t);
  6. Napisać funkcję, która zwraca miejsce pierwszego wystąpienia słowa w tekście (-1 jeśli brak wystąpień)
    int znajdz(char* tekst, char* slowo);
  7. Napisać funkcję, która zwraca true wtedy i tylko wtedy, gdy napis b można uzyskać z napisu a opuszczając niektóre znaki (ale nie zmieniając ich kolejności)
    bool zawiera(char* a, char* b);
    np. zawiera("ABCDE","AE")=true, zawiera("ABCDE","AED")=false
  8. Napisać funkcję, która zwraca true wtedy i tylko wtedy, gdy ze znaków napisu a można ułożyć napis b
    bool ukladanka(char* a, char* b);
    np. ukladanka("ABCDA","DCA")=true, zawiera("ABCDE","DDA")=false
  9. Napisać funkcję, która zamienia wszystkie litery c1 w napisie s na c2. Należy zwrócić liczbę dokonanych zamian.
    int zamien(char* s, char c1, char c2);
  10. Napisać funkcję, która usuwa z napisu s wszystkie litery c. Należy zwrócić liczbę usuniętych liter.
    int usun(char* s, char c);
  11. Napisać funkcję, która zwraca znak występujący w napisie s największą ilość razy. Jeśli wiele znaków występuje w takiej samej, maksymalnej ilości, należy zwrócić dowolny znak spośród nich.
    char najczesciej(char* s);
Rozwiązania