Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Упаковка строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнение строк и работа с таймером http://www.cyberforum.ru/cpp-beginners/thread508417.html
Доброе время суток! Есть такая задача: Пусть имеется два файла, в каждом из которых информация разбита по 6-ти столбцам, произведите соединение строк этих файлов по совпадению указанных с...
C++ Взаимодействие плагинов Приветствую, товарищи. Возникла такая необходимость. Намерен сделать два плагина. Конкретнее, два VST-плагина для звуковых редакторов, но это не важно. Важно то, что они должны взаимодействовать... http://www.cyberforum.ru/cpp-beginners/thread508395.html
C++ Сохранить bitmap в базе данных MS SQL
Необходимо написать на MFC dll, в которой будет экспортируемая функция. В нее передается как параметр путь к bmp-файлу. Функция должна записать в базу данных MS SQL Server 2000 поле типа Image этот...
Как закрыть окно чужого процесса? C++
Добрый день. Объясните пожалуйста, почему по OutWnd->PostMessage( WM_CLOSE, 0, 0 );не хочет закрываться окно? Ситуация следующая: 1) В Spy++ у двух окон один и тот - же PROCESS ID, один и...
C++ Перегрузка оператора индексирования http://www.cyberforum.ru/cpp-beginners/thread508240.html
Что-то не выходит каменный цветок. Определение класса: struct TEventData { char strComputerName; }; class TEventDataSet { private: int iCurrentRecordNo; //текущая запись TEventData*...
C++ Сортировка коллекции CMap Помогите, кто может !!! Сортировка в коллекции CMap for (int a=2; a<=mm.GetCount();a++) { mm.GetNextAssoc(pos,string,th); //получения значения и ключа for(int i=0;i<mm.GetCount()-1; i++) ... подробнее

Показать сообщение отдельно
luchik
Сообщений: n/a

Упаковка строки - C++

21.06.2007, 17:25. Просмотров 3395. Ответов 0
Метки (Все метки)

Есть следующее задание:

Первый наиболее часто встречающийся символ кодируется битом 0. Бит 1 кодирует группу из всех остальных символов. Код 10 кодирует второй по частоте символ, 11 - группу всех остальных и т.д.. Разработать функцию упаковки строки

Есть вот такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
char str[256]; //строка
unsigned char outarray[256]; //выходной массив
unsigned char amounth_elem=0; //количество элементов
char filse_name[256];
FILE *fp;
 
void package()
{
 int frequencies[256]={0}; //частота появления символа
 int i,tmp;
 int j,cnt,flag=0;
 printf("");
 for(i=0;str[i]!=''i++)
 {
  tmp=str[i]; //сохраняем код тек. символа
   if(frequencies[tmp]==0)
    amounth_elem++;
   frequencies[tmp]++; //увеличиваем частоту соответствующего символа
  }
//******************sort*********************
for (i=0;i<256;i++)
     {
     for ( cnt=0,j=0; j<256; j++)
      if(frequencies[j]!=0 && frequencies[i]!=0)
      {    if (frequencies[j] < frequencies[i]) cnt++;
          else
           if (frequencies[j]==frequencies[i] && j<i) cnt++;
         flag=1;
      }
        if(flag==1)
        outarray[cnt]=i;
        flag=0;
     }
//******************end sort*****************
/*for (i=0;i<amounth_elem;i++)
{ printf("");
 printf("%d ",outarray[i]);
 }
 printf("amount simbols: %d ",amounth_elem);
}
*/
}
void write_in_file()
{
 printf("Input files name for save:");
 gets(filse_name);
 fp=fopen(filse_name,"w");
 if(fp==NULL)
  printf("error open file");
 else
 {
  fprintf(fp,"%c",amounth_elem);
 }
  fclose(fp);
}
void read_file()
{
 printf("Input files name:");
 gets(filse_name);
 fp=fopen(filse_name,"r");
 if(fp==NULL)
  printf("can not open file!");
 else
 {
  fscanf(fp,"%c",&amounth_elem);
 }
 printf("%d",amounth_elem);
 fclose(fp);
}
int main()
{
 clrscr();
 printf("Enter string for packing:");
 gets(str);
 str[256]=''
 package();
 write_in_file();
 read_file();
// F2();
 return 0;
}
Т.е. естькод, который определяет к-во вхождений символов в строке и сортирует их по частоте
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru