Na początek zadeklarujmy nagłówek funkcji. Będzie ona zwracać indeks czyli liczbę całkowitą innymi słowy int, a argumenty to dwa napisy:
W zadaniu mamy znaleźć ostatni znak w napisie s, który występuje również w napisie x. Do rozwiązania posłużymy się pętlą while jako, że nie posiadamy długości napisu, ale wiemy kiedy się kończy (na znaku \0). Chcąc znaleźć ostatni taki element musimy sprawdzić każdy znak z napisu s z każdym znakiem z napisu x. Indeks wystąpienia znaku zgodnego z s będziemy zwracać na samym końcu wykonywania funkcji, dal tego na początku zadeklarujemy zmienną pozycja, która będzie przechowywać, gdzie jest element z s należący do x. Do rozwiązania użyjemy podwójnej pętli while:
Cele zadania określają, że jeśli w napisie s nie wystąpi żaden znak z x to ma zwrócić -1. Tak się stanie jeśli w pętli nie znajdziemy elementu spełniającego kryteria. Wtedy zmienna pozycja nie zostanie zmieniona i funkcja zwróci -1.
W treści polecenia określone zostało, że funkcja zwraca listę znaków, a jako argumenty przyjmuje napis s oraz liczbę całkowitą k.
W celu (2.) wyliczenia ile znaków zostanie przepisanych musimy znać długość tekstu, podzielić przez k ( co który wyraz wybieramy) i pobrać część całkowitą (tu castujemy na inta). (3.) Pamiętajmy, że nasz nowy napis musi zawierać wszystkie napisy do przepisania oraz znak specjalny \0. (4. - 6.) Rozpoczynamy przepisywanie. Pierwszy znak ma zostać przeniesiony do drugiego napisu, więc wybieramy wyrazy 0, k, 2k, ... czyli np. 0, 2, 4, ... (co dla zwykłego człowieka należy tłumaczyć jako element 1, 3, 5, ...) (7.) Na sam koniec nie zależy zapomnieć o znaku końca linii \0. i (8.) zwróceniu wyniku.
Przykładowoa funkcja main():