Advertisement
ElfikCo

Najczęstsze słowo v1.1

Dec 8th, 2016
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. // ConsoleApplication4.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6. #include <string>
  7. #include <vector>
  8. #include <conio.h>
  9. #include <algorithm>
  10. #include <Windows.h>
  11.  
  12. using namespace std;
  13.  
  14. int main()
  15. {
  16.     int iterator = 0;
  17.     string temp = { 0 }; //równie dobrze można tutaj nic nie pisać, po prostu zadeklarować
  18.     string a;
  19.     getline(cin, a);
  20.     a.append(" ");
  21.     struct slowa   
  22.     {
  23.         string word;
  24.         int il_wyst;
  25.     };
  26.     vector<string> vtab; //inicjacja wektora będącego pojemnikiem na tablice typu string, równie dobrze można wpisać <int> czy <char>
  27.     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
  28.     {
  29.         if (a[i] != ' ')
  30.         {
  31.             temp += tolower(a[i]);
  32.         }
  33.         else
  34.         {
  35.             vtab.push_back(temp); // Dodawanie tablicy na koniec wektora, która to operacja powiększa go o 1 miejsce
  36.             temp = { 0 };
  37.            
  38.         }
  39.     }
  40.     slowa *text = new slowa[vtab.size()] // tablica pojemnika ;)
  41.     {
  42.  
  43.     };
  44.  
  45.     slowa najczestsze // może niepotrzebne, ale wolałem być pewien, że wszystko puste
  46.     {
  47.         "",
  48.         0
  49.     };
  50.  
  51.     for (size_t x = 0; x < vtab.size(); x++) // wartości .size() i .length() są właśnie zmiennymi typu size_t
  52.     {
  53.         text[x].word = vtab[x];
  54.         for (size_t a = 0;  a < vtab.size();  a++)
  55.         {
  56.             if (vtab[x] == vtab[a])
  57.             {
  58.                 text[x].il_wyst++;
  59.             }
  60.  
  61.         }
  62.     }
  63.    
  64.     for (size_t x = 0; x < vtab.size(); x++)
  65.     {
  66.         for (size_t a = 0; a < vtab.size(); a++)
  67.         {
  68.             if (najczestsze.il_wyst <= text[a].il_wyst)
  69.             {
  70.                 najczestsze = text[a];
  71.             }
  72.         }
  73.     }
  74.     cout << endl << "Slowo" << najczestsze.word << " wystepuje " << najczestsze.il_wyst << " razy. Jest to najczesciej wystepujace slowo.";
  75.        
  76.     _getch();
  77.     return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement