Facebook
From Cobalt Terrapin, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 250
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define kropka 46
  4. #define BUFOR 1000
  5. #define MAX_PATH 256
  6. //struktura zawierajaca kod znaku oraz iolos jego wystapien
  7.  
  8. struct element_zrodla {
  9.     int indeks_znaku;
  10.     int ilosc_wystapien;
  11. };
  12. //struktura o rozmiarze 256
  13. struct element_zrodla model[256];
  14.  
  15. //licznik elementów zródla
  16. int  licznik_symboli = 0;
  17.  
  18. //funkcja zmieniajaca nazwe pliku
  19. int stworz_nazwe_pliku(char *nazwa_pliku, char *rozszerzenie, char *nazwa_pliku_z_nowym_rozszerzeniem) {
  20.     int i = 0;  //zmienna pomocnicza
  21.     int n = 0;  //zmienna pomocnicza
  22.     while((nazwa_pliku[n]!= kropka)&&(nazwa_pliku[n]!= '\0'))
  23.         n++;
  24.     for(i = 0; i<n;i++)
  25.         nazwa_pliku_z_nowym_rozszerzeniem[i] = nazwa_pliku[i];
  26.    
  27.         nazwa_pliku_z_nowym_rozszerzeniem[i] = kropka;
  28.     n=0;
  29.     i++;
  30.  
  31.     while(rozszerzenie[n] != '\0'){
  32.         nazwa_pliku_z_nowym_rozszerzeniem[i] = rozszerzenie[n];
  33.         i++;
  34.         n++;
  35.     }
  36.  
  37.     nazwa_pliku_z_nowym_rozszerzeniem[i] = 0;
  38.     return 0;
  39. }
  40.  
  41. int utworz_model_niepelny_Huffman(struct element_zrodla model[], struct element_zrodla model_pelny[256]) {
  42.     int n=0;
  43.     for(int i = 0; i < 256; i++){
  44.         if(model_pelny[i].ilosc_wystapien > 0){
  45.             model[n].indeks_znaku = model_pelny[i].indeks_znaku;
  46.             model[n].ilosc_wystapien = model_pelny[i].ilosc_wystapien;
  47.             n++;
  48.         }
  49.     }
  50.     return 0;
  51. }