Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- #include <string>
- using namespace std;
- string slowa[1000]; //tabela na slowa
- int ilosc_powtorzen[1000]; //ilosc powtorzen slow
- // funkcja sprawdza czy slowo jest juz dodane
- // zwraca pod jakim indeksem w tabeli sie znajduje
- int czy_slowo_juz_dodane(string slowo)
- {
- for (int i = 0; i<1000; i++)
- {
- if (slowa[i]==slowo)
- return i;
- }
- return -1;
- }
- int main()
- {
- string slowo;
- fstream plik;
- // ================ ZBIERANIE DANYCH =======================
- int licznik = 0; //indeks dla nowo dodawanych slow
- plik.open("dane.txt", ios::in);
- while(!plik.eof())
- {
- getline(plik, slowo);
- // zmienna 'index' zawiera index w tabeli
- // gdzie znajduje sie badane slowo
- // jezeli index = -1 to slowa jeszcze nie ma i trzeba dodac
- int index = czy_slowo_juz_dodane(slowo);
- if ( index == -1) //slowa jeszcze nie ma
- {
- slowa[licznik] = slowo;
- ilosc_powtorzen[licznik] = 1;
- licznik++;
- }
- else // slowo juz jest wiec zwiekszamy ilosc jego wystapien
- {
- ilosc_powtorzen[index]++;
- }
- }
- plik.close();
- // ========== ILE slow wiecej niz jeden raz? ===========
- int z = 0;
- for (int i = 0; i<1000; i++)
- if ( ilosc_powtorzen[i] > 1 ) z ++;
- cout << z << " slow wystepuje wiecej niz 1 raz.\n\n ";
- // ========== Najwieksza ilosc wystapien slowa ===========
- // ========== oraz ilosc jego wystapien ===========
- z = 0;
- int powtorzenia = 0;
- for (int i = 0; i<1000; i++)
- if ( ilosc_powtorzen[i] > powtorzenia )
- {
- powtorzenia = ilosc_powtorzen[i];
- z = i;
- }
- cout << slowa[z] << " <- to slowo wystepuje najczesciej" << endl;
- cout << "czyli: " << powtorzenia << " razy.\n\n" << endl;
- system("PAUSE");
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement