![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| JayW |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
Доброго времени суток.
проблема такая. предположим, есть массив. в нём 3 столбика. в первой графе число 67999 нужно из этого числа достать 6, поместить в 3й столбец, а во второй столбик пойдёт исходное число (67999), тольков нем 6 будет из него удалена, все последующие цифры будут смещаны влево, а вместо пустого места появится 9. ПРИМЕР: 67999 79999 6 |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
ну так храни число в виде строки, или массива цифр, и манипулируй ими как тебе надо..
|
|||
|
||||
| JayW |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
нет, нужно что-то другое..
это лишь кусок проги. число типа int. хранить его как строку крайне неудобно.. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Сформулируй задачу точнее и строже. Почему из числа 67999 надо доставать 6? Почему на место последне символа в 7999 надо вставлять именно 9? Иначе непонятно, что именно тебе нужно.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| JayW |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
хорошо. сама программа реализует арифметическое кодирование.
верхний и нижний предел, как сообщили мне можно представлять как, соответственно, 99999и 00000, потом подставляем вместо старших разрядов обоих чисел границы расположения элемента. например получаем 29999 и 20000, далее, нужно 2 вынести в результат. но нужно и арифметические действия выполнить над ними в определённых случаях (одинаковые символы рядом).. |
|||
|
||||
| inside_pointer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 9.3.2008 Репутация: 5 Всего: 12 |
Такую попробуй
|
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 1 Всего: 41 |
если я правильно понял, то так
так? -------------------- |
|||
|
||||
| JayW |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
inside_pointer и Dmi3ev Спасибо, помогли!
|
|||
|
||||
| JayW |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
извиняюсь, а подскажите плз, как сделать действие практически обратное? подставляем вместо старшего разряда другое число. остальное сдвигаем вправо. пример
число 7 подставим в 45999, получаем 74599 |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Так и не понял, что за трудности: вот решение.
МОДЕРАТОР - ТЕМУ В НОВИЧКИ, МОЖЕТ? Это сообщение отредактировал(а) comcon1 - 16.3.2008, 00:20 |
|||
|
||||
| JayW |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
ясно. можно закрыть и удалить.
всем спс. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |