// ConsoleApplication4.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include #include #include #include using namespace std; int main() { int iterator = 0; string temp = { 0 }; //równie dobrze można tutaj nic nie pisać, po prostu zadeklarować string a; getline(cin, a); a.append(" "); struct slowa { string word; int il_wyst; }; vector vtab; //inicjacja wektora będącego pojemnikiem na tablice typu string, równie dobrze można wpisać czy for (size_t i = 0; i < a.length()+1; i++) // size_t to to samo co unsigned int, ale może pomieścić więcej i chyba jest more wydajny { if (a[i] != ' ') { temp += tolower(a[i]); } else { vtab.push_back(temp); // Dodawanie tablicy na koniec wektora, która to operacja powiększa go o 1 miejsce temp = { 0 }; } } slowa *text = new slowa[vtab.size()] // tablica pojemnika ;) { }; slowa najczestsze // może niepotrzebne, ale wolałem być pewien, że wszystko puste { "", 0 }; for (size_t x = 0; x < vtab.size(); x++) // wartości .size() i .length() są właśnie zmiennymi typu size_t { text[x].word = vtab[x]; for (size_t a = 0; a < vtab.size(); a++) { if (vtab[x] == vtab[a]) { text[x].il_wyst++; } } } for (size_t x = 0; x < vtab.size(); x++) { for (size_t a = 0; a < vtab.size(); a++) { if (najczestsze.il_wyst <= text[a].il_wyst) { najczestsze = text[a]; } } } cout << endl << "Slowo" << najczestsze.word << " wystepuje " << najczestsze.il_wyst << " razy. Jest to najczesciej wystepujace slowo."; _getch(); return 0; }