Program sprawdzający czy podane słowo mogło powstać z klawiatury T9

0

Witam, mam następujący program do napisania (tak tak, jest to projekt na studia)
Napisz program, który sprawdzi, czy podane słowo mogło powstać z danej kombinacji cyfr dzięki słownikowi T9.

Dalsza treść w załączniku bo forum robiło mi sieczkę z treści jak tutaj wkleiłem z niewiadomego mi powodu.

I już kombinuję nad tym dłuższą chwilę i po prostu nie mam pojęcia jak się za to zabrać, jak to zrobić żeby było dobrze. Proszę o jakąś podpowiedź jak to ugryźć bo w teorii wydaje mi się, że odpowiednie byłyby do tego tablice, ale kompletnie nie mam pomysłu jak to ugryźć. Prosiłbym o pilną pomoc i podpowiedź.
Pozdrawiam

0

Mapa tego jaki znak może powstać z każdego klawisza, a potem w pętli sprawdzanie znak po znaku. Jeżeli zachodzi sprzeczność to taki wyraz nie mógł powstać z pomocą T9.

0

Ogólny zarys mam tego jak to powinno wyglądać, ale mam problem właśnie z tą mapą. Chce żeby to było proste i szybkie w napisaniu a nie na 100 linijek kodu który aktualnie by mi wychodził jakbym robił krok po kroku :)

0

Nie wiem czy mapę chcesz sam implementować, ale masz coś takiego jak std::map.
Ogólnie ja bym to widział tak:

  • W pętli bierzesz i-ty znak wyrazu i i-tą klikniętą cyfrę na klawiaturze.
  • i-ta kliknięta cyfra jest kluczem do mapy, z której pobierasz np. stringa z możliwymi znakami do wpisania pod danym klawiszem
  • Jeśli i-ty znak wyrazu mógł powstać poprzez naciśnięcie i-tego klawisza to inkrementujesz i i powtarzasz pętle aż do końca wyrazu
  • Jeśli i-ty znak wyrazu nie mógł powstać poprzez naciśnięcie i-tego klawisza to taki wyraz nie mógł powstać z pomocą słownika T9.

Poza tym 100 linijek kodu to nie jest dużo.

0

Zadanie "na studia" a zrzut ze spoja? Swoją drogą moje rozwiązanie w pythonie zajęło 24 linie pisane czytenie, więc część dało by się spokojnie usunąć/scalić. A zamiast mapy proponuję tablicę stringów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1