Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2017, 05:00   #1
Серега_123
 
Регистрация: 04.06.2017
Сообщений: 3
По умолчанию Упаковка массива.

Прошу совета.

Необходимо упаковать последовательность целочисленных переменных. Таким образом чтобы байт-счетчик считал подпоследовательность из не повторяющихся элементов и вставал перед ней и имел положительное значение. А также считал подпоследовательность из одинаковых элементов и вставал перед значением повторяющихся элементов и имел отрицательное значение.
Т.е.:
•последовательность из целых не повторяющихся элементов кодируется целым счетчиком (типа int) за которым следуют эти элементы
•последовательность из повторяющихся элементов кодируется отрицательным значением счетчика, за которым следует значение повторяющихся элементов
•нулевое значение целого счетчика обозначает конец последовательности

Пример:
•исходная последовательность: 2 3 3 3 5 2 4 4 4 4 4 8 -6 8
•упакованная последовательность: (1) 2 (-3) 3 (2) 5 2 (-5) 4 (3) 8 -6 8

Я реализовал часть задачи, а именно упаковку подпоследовательности из повторяющихся элементов:

void pack(int *p, int A[], int n)
{
int cnt = 0;

for(int i = 1; i<n; i++)
{
if(A[i] == A[i-1])
{
cnt--;
if(i<2 || (A[i] != A[i-2])) cnt--;
*(p+i) = cnt;
cnt=0;
}
}
}

Подскажите как реализовать вторую часть задачи, а именно посчитать не повторяющиеся элементы массива, и вставить этот счетчик перед подпоследовательностью в последовательность, и условия его обнуления.

Спасибо
Серега_123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
упаковка 32bit rekbrjaaa Общие вопросы C/C++ 1 10.06.2013 11:04
3D упаковка elpilasgsm Помощь студентам 0 06.11.2011 00:22
Упаковка программы daimon7777 Помощь студентам 8 03.03.2011 18:44
Упаковка БД Serge77 БД в Delphi 1 02.06.2009 11:58