Program w C - zliczanie słów

0

Mam takie o to zadanie:

Zad. Napisz w jezyku C program, który:

  1. Czyta standardowe wejscie i wyodrebnia w nim słowa, przy czym słowo to
    ciag liter.
  2. Zlicza ile razy kazde słowo wystapiło w standardowym wejsciu (wczesniej zamienia w słowie małe litery na wielkie).
  3. Drukuje zadana liczbe najczesciej wystepujacych słów wraz z informacja ile
    razy wystapiły (jesli nie podano jako parametr uruchomienia programu zadanej
    liczby, nalezy przyjac wartosc 100).
    Wczytane słowa i liczniki wystapien przechowuj w uporzadkowanym drzewie z
    alfabetycznym porzadkiem na słowach. Na koniec działania programu nie zapomnij
    zwolnic cała strukture drzewa.
    Parametry uruchomienia programu dostepne sa poprzez parametry funkcji
    main(int argc, char *argv[]). Program pod linuxa.

I nie wiem jak się za to zabrać mógłby ktoś podać mi jakieś wskazówki, jakiś ogólny schemat lub pseudokod? Albo chociaż jak zacząć taki program? Największy problem mam z punktem 1.

0

A to musi być C czy moze być C++? Bo C++ takie drzewo ma w standardzie jako map<> a w Co musiałbyś sobie tego TreeMap napisać ręcznie.

0

Musi być w C niestety.

0
  1. wczytujesz kolejne słowo
  2. jeżeli nie udało się wczytać to przechodzisz do wyświetlenia
  3. przekształcasz na duże litery
  4. szukasz czy takie było (mapa,dzrewo,lista,tablica w porządku od najlepszego rozwiązania)
  5. jeżeli znaleziono to zwiększasz licznik przy znalezionym słowie
  6. jeżeli zaś nie znaleziono to dodajesz to słowo z licznikiem - 1
  7. Wyświetlanie: sortujesz wg ilości, wyświetlasz pierwszych N
0

1 i 2 punkt zadania mam zrobione teraz zostało mi jeszcze posortować słowa wg liczby wystąpień i wyświetlić najczęściej występujące słowa i tu znów pojawia się problem jak to zrobić. Mógłby ktoś pomóc? jakieś wskazówki jak to zrobić?

1

? Skoro masz tablice ze zliczeniami to qsort() na niej i wypisz pierwszych X.

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