Advertisement
MeehoweCK

Untitled

Jun 21st, 2019
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct Wyraz
  6. {
  7.     char* wyraz;
  8.     int liczba_wystapien;
  9. };
  10.  
  11. int czy_jest(char* wyraz, Wyraz* tab, int wielkosc)
  12. {
  13.     for(int i = 0; i < wielkosc; ++i)
  14.         if(tab[i].wyraz == wyraz)
  15.             return i;
  16.     return -1;    
  17. }
  18.  
  19. void dodaj_element(Wyraz* tablica, char* nowy, int& wielkosc)
  20. {
  21.     // krok 1: stworzenie tablicy tymczasowej
  22.     Wyraz* temp = new Wyraz[wielkosc];
  23.    
  24.     // krok 2: przekopiowanie wartości do tablicy tymczasowej
  25.     for(int i = 0; i < wielkosc; ++i)
  26.         temp[i] = tablica[i];
  27.    
  28.     // krok 3: usuniecie tablicy glownej
  29.     delete[] tablica;
  30.    
  31.     // krok 4: utworzenie nowej tablicy, wiekszej o 1
  32.     tablica = new Wyraz[wielkosc + 1];
  33.    
  34.     // krok 5: skopiowanie tablicy tymczasowej do tablicy głównej
  35.     for(int i = 0; i < wielkosc; ++i)
  36.         tablica[i] = temp[i];
  37.    
  38.     // krok 6: usuniecie tablicy tymczasowej
  39.     delete[] temp;
  40.    
  41.     // krok 7: dodanie na koniec tablicy glownej nowego elementu
  42.     tablica[wielkosc].wyraz = nowy;
  43.     tablica[wielkosc].liczba_wystapien = 1;
  44.    
  45.     ++wielkosc;
  46. }
  47.  
  48. void statystyka(char* napis)
  49. {
  50.     Wyraz* tablica = new Wyraz[0];
  51.     int wielkosc_tablicy = 0;
  52.     char* nowy = pobierz_wyraz(napis);
  53.     int numer;
  54.     while(nowy)
  55.     {
  56.         numer = czy_jest(nowy, tablica, wielkosc_tablicy);
  57.         if(numer == -1)
  58.             dodaj_element(tablica, nowy, wielkosc_tablicy);
  59.         else
  60.             tablica[numer].liczba_wystapien++;
  61.     }
  62. }
  63.  
  64. int main()
  65. {
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement