8. seminář - 1. zápočtový úkol

TEACHINGZPC1

Pokyny k odevzdání

  • Na email roman.vyjidacek@upol.cz s předmětem ZPC1 - ukol 1. V případě špatného předmětu v emailu nebude úkol považován za odevzdaný. V emailu prosím uveďte své jméno.
  • Deadline 30. 11. 2021 23:59:59 SEČ.
  • Odevzdávejte pouze jeden soubor se zdrojovým kódem.
  • Celkový počet bodů který lze získat je 15.
  • Body budou strhávány například za:
    • Nefunkční program
    • Špatně formátovaný kód
    • Nesprávně (nelogicky) pojmenované proměnné a funkce.

Zadání

V jayku C napiště funkci s následující hlavičkou:


    int remove_other_words(char words[], char text[])

kde řetezec words obsahuje slova která ponecháte v řetezci text. Slova obsažená ve words jsou oddělená mezerou. Mezi slovy je dovolena pouze 1 mezera a žádný jiný netisknutelný znak není povolen. Funkce vrací jako návratovou hodnotu počet odebraných slov. K řešení nepoužívejte žádné funkce z knihovny string.h.

Příklad


    int main() {
        // Nezalezi na poradi slov ktera chceme v retezci ponechat.
        char words[] = "dobry je programovani predmet Zaklady moc"
        char text[] = "Zaklady paralelniho programovani je neni moc nedobry dobry predmet."

        // Program vypise text
        // Zaklady programovani je moc dobry predmet.
        // Funkce vrati hodnotu 3.
    }

Nápověda

  • Znak z řetezce text odstraníme tak, že všechny znaky nalevo od něj (a nulu na konci řetezce) posuneme o jednu pozici vlevo.
  • Program pořádně otestujte na různých vstupech.
  • Dávejte si pozor při přístupu k prvkům pole, aby index nebyl větší než je délka pole.