Najczęściej występujący element

Problemy i ich rozwiązania w C++.
Matura:(
Początkujący
Początkujący
Posty: 9
Dołączył(a): niedziela, 27 lutego 2011, 18:45

Najczęściej występujący element

Post przez Matura:( »

Witam, zakupiłem ostatnio od pana kilka kursów. Obecnie przygotowuję się do matury ;( Mam takie zadanie:
Korzystając z danych umieszczonych w pliku telefony.txt, wykonaj polecenia:
Z którego numeru telefonowano najczęściej i ile razy?

Niestety nie wiem jak to zrobić :oops: Wczytanie danych to nie problem tylko co dalej :? . W kursie pt."C++ algorytmy "- nie było takiego zadania.

Nie chodzi mi by Pan mi to zrobił, lecz tylko proszę o wskazówkę, jak to najlepiej wykonać? (może użyć mapy?)
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Najczęściej występujący element

Post przez Morfidon »

Witam,

Na maturze nie ma bezpośrednich zadań: "napisz algorytm sortujący metodą przez wstawienie / bąbelkową etc.", tylko samemu trzeba domyśleć się jaki algorytm zastosować do jakiego zadania.

Można to zrobić na różne sposoby, np. posortować nr telefonów jakąkolwiek metodą, a następnie od początku przejść przez całą posortowaną tablicę i porównywać kolejne elementy tablicy do siebie.

Jeśli elementy (np. 1 i 2) są takie same to dokonać inkrementacji zmiennej pomocniczej liczącej ilość powtórzeń.

Jeśli nie to:
- w pierwszym wykonaniu pętli wyzerować zmienną liczącą ilość powtórzeń, aby mogła liczyć powtórzenia dla następnych innych numerów i zapisać ilość powtórzeń do nowej zmiennej pomocniczej np. repeated oraz tymczasowo zapisać powtórzony numer do zmiennej np. tmpNumber.

- jeśli to niepierwsze przejście przez pętlę to sprawdzić, czy zmienna pomocnicza licząca ilość powtórzeń jest większa od zmiennej repeated, jeśli nie to zerujemy zmienną pomocniczą i sprawdzamy dalej, jeśli tak to podmieniamy zmienną repeated oraz tmpNumber.

Po przejściu wynik mamy w tmpNumber (nr telefonu) + repeated mówi ile razy ten numer został powtórzony.

Pozdrawiam!
Matura:(
Początkujący
Początkujący
Posty: 9
Dołączył(a): niedziela, 27 lutego 2011, 18:45

Re: Najczęściej występujący element

Post przez Matura:( »

Na maturze nie ma bezpośrednich zadań: "napisz algorytm sortujący metodą przez wstawienie / bąbelkową etc.", tylko samemu trzeba domyśleć się jaki algorytm zastosować do jakiego zadania.
1.Przepraszam, ale tu się z panem nie zgodzę. Najprostszy przykład (matura 2010 p.podstawowy):

W pliku dane.txt umieszczono w kolejnych wierszach 1000 słów o długościach od 2 do
25 znaków, składających się z wielkich liter A, B, C, D, E, F, G, H, I, J. Napisz program,
który przegląda słowa zapisane w pliku dane.txt i wypisuje te z nich, które są
palindromami, po jednym w wierszu. Kolejność wypisywania palindromów powinna być
taka sama jak w pliku z danymi. Wyniki zapisz w pliku zadanie4.txt.


Są też inne przykłady (np. z szyfrem cezara).Większość algorytmów z matury są na pana kursie. Ludzie, którzy zakupili kursy są bardzo zadowoleni (tak jak ja :) ),bo dzięki panu zrozumiałem programowanie.

2.Zadanie zrobiłem za pomocą pana wskazówek :D - dziękuję za pomoc
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Najczęściej występujący element

Post przez Morfidon »

Cieszę się, że dałeś sobie radę po wskazówkach :)

Zadanie, które przedstawiłeś też nie ma bezpośrednio napisane: "Sprawdź czy dane słowo jest palindromem" bo zadanie jest złożone, trzeba najpierw pobrać te dane etc., czasem może się zdarzyć, że trzeba wykorzystać jakiś algorytm do innego zadania etc., ale to nie jest ważne, najważniejsze by sobie poradzić ^^

Pozdrawiam
Post Reply