Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
интерестно Гость
|
Добавлено: Сб Окт 16 2004 21:09 Заголовок сообщения: Вопросы по динамичным переменным в С++ |
|
|
Плз... скажите может кто знает как мне:
1. создать переменную в которую я смог бы записать целое число любой длинны.
2. создать подобие массива с неизвестной длинной и потом обрасчатся к его элементам по индексам.
Спасибо... |
|
Вернуться к началу |
|
|
Alexandr 172
Зарегистрирован: 03.09.2004 Сообщения: 66 Откуда: Челябинск
|
Добавлено: Сб Окт 16 2004 21:58 Заголовок сообщения: |
|
|
Цитата: | 1. создать переменную в которую я смог бы записать целое число любой длинны |
Наверное, никак. Создать переменную можно, но вот чтобы записывать туда число любой длины, это вряд ли.
Цитата: | 2. создать подобие массива с неизвестной длинной и потом обрасчатся к его элементам по индексам |
И здесь, боюсь, ничего не получиться. Опять массив динамически создать можно и обращаться к элементам по индексам можно. Но неизвестной длины - никак.
Все написанное, относиться к стандартным средствам C++. Но, есстественно, можно создать свои классы с описанными свойствами (целое число неограниченной длины и массив неизвестной длины). Кстати, что касается массива, то такие есть в Perl и Php. _________________ www.pay-ace.com/Ras254 - всем в подарок $150 |
|
Вернуться к началу |
|
|
интерестно Гость
|
Добавлено: Вс Окт 17 2004 11:11 Заголовок сообщения: |
|
|
Да про Перл я знаю...
А может их можно слить Перл и СИ в одной программе...?? |
|
Вернуться к началу |
|
|
Malcolm
Зарегистрирован: 12.06.2004 Сообщения: 187 Откуда: Хабаровск
|
Добавлено: Вс Окт 17 2004 21:55 Заголовок сообщения: |
|
|
А заодно QBasic и JavaScript |
|
Вернуться к началу |
|
|
интерестно Гость
|
Добавлено: Пн Окт 18 2004 07:57 Заголовок сообщения: |
|
|
Malcolm писал(а): | А заодно QBasic и JavaScript |
Щутка... гы-гы ... а если серьёзно??? Что никто не поможет.
Я вот слышал про вектора что-то <vector> это типа одномерный массив неизвестной длинны. |
|
Вернуться к началу |
|
|
Alexandr 172
Зарегистрирован: 03.09.2004 Сообщения: 66 Откуда: Челябинск
|
Добавлено: Пн Окт 18 2004 10:35 Заголовок сообщения: |
|
|
vector вроде бы где-то был реализован класс, но совсем даже не произвольнйо длины, ну т.е. произвольной конечно, но когда экземпляр создается, то его длина вполне конкретна и конечна.
Единственный выход, имхо, ищи модули в нете или сам пиши то что нужно. Реализовать такое можно (самое простое, наверное, с помощью списков). _________________ www.pay-ace.com/Ras254 - всем в подарок $150 |
|
Вернуться к началу |
|
|
Ersh
Зарегистрирован: 20.01.2004 Сообщения: 107
|
Добавлено: Пн Окт 18 2004 11:24 Заголовок сообщения: |
|
|
vector - это не класс, это шаблон, stl, использовать его легко, и размер не обязательно знать, там есть положить в вектор, достать и т.д. Если хочешь пробегаться нужно еще итератор объявлять. _________________ Анархия - мать порядка!!!!!!!!! |
|
Вернуться к началу |
|
|
интерестно Гость
|
Добавлено: Пн Окт 18 2004 21:25 Заголовок сообщения: |
|
|
А можно по векторам по подробнее... плз... ну очень надо )))
А на счёт переменных, что нить есть...??? |
|
Вернуться к началу |
|
|
_Dmitry
Зарегистрирован: 19.10.2004 Сообщения: 2 Откуда: Нижний Новгород
|
Добавлено: Вт Окт 19 2004 13:35 Заголовок сообщения: |
|
|
На самом деле все легко. Создаем класс, в котором одно поле - указатель на массив, другое - текущее количество элементов массивва.
Следует задать какое-нибудь число, на которое увеличивать память при ее заполнении, и написать соответствующий метод, который проверял бы после добавления переменной сколько памяти осталось, и при необходимости сначала бы копировал текущий массив в другой массив того же размера, затем удалял его и потом выделял для него память на некоторое число больше, чем было у него памяти. Потом копию нужно поместить в расширенный массив, и удалить ее. _________________ _Dmitry: |
|
Вернуться к началу |
|
|
RD Гость
|
Добавлено: Вт Окт 19 2004 17:47 Заголовок сообщения: |
|
|
1. создать переменную в которую я смог бы записать целое число любой длинны.
А для чего? Арифметические действия все-равно нельзя будет использовать.
2. создать подобие массива с неизвестной длинной и потом обрасчатся к его элементам по индексам.
Уже ответили - посмотри STL, vector - там все просто. |
|
Вернуться к началу |
|
|
интерестно Гость
|
Добавлено: Вт Окт 19 2004 21:20 Заголовок сообщения: |
|
|
Вообщем например у меня есть 2 числа в каждом из них 100 знаков и мне нужно их умножить. Или от 2 до числа из числа из 200 знаков найти все простые числа. и поместить их в массив. как это реализовать на перле я знаю, а вот как на си нет. |
|
Вернуться к началу |
|
|
Alexandr 172
Зарегистрирован: 03.09.2004 Сообщения: 66 Откуда: Челябинск
|
Добавлено: Ср Окт 20 2004 08:43 Заголовок сообщения: |
|
|
Цитата: | Вообщем например у меня есть 2 числа в каждом из них 100 знаков и мне нужно их умножить. |
Имхо, здесь нужно использовать уже написанный класс для работы с очень длинными целыми или писать свой такой же. И совсем необязательно чтобы переменная была совсем уж безразмерной, исходя из условий задачи можно будет оченить какой длины максимально понадобиться для хранения числа + накинуть немного про запас. _________________ www.pay-ace.com/Ras254 - всем в подарок $150 |
|
Вернуться к началу |
|
|
интерестно Гость
|
Добавлено: Ср Окт 20 2004 20:20 Заголовок сообщения: |
|
|
Ну а где этот класс надыбать, написать сам я не смогу поскольку только пару месяцев изучаю СИ++, а реализация желательна к новому году...))
Ас массивом чё делать??? |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пт Окт 22 2004 11:28 Заголовок сообщения: Re: Вопросы по динамичным переменным в С++ |
|
|
интерестно писал(а): | Плз... скажите может кто знает как мне:
1. создать переменную в которую я смог бы записать целое число любой длинны.
2. создать подобие массива с неизвестной длинной и потом обрасчатся к его элементам по индексам.
Спасибо... |
в MSVC++ есть класс BigInteger
в GNU есть класс Integer
(но мне пользоваться не приходилось) |
|
Вернуться к началу |
|
|
интерестно Гость
|
Добавлено: Вс Окт 24 2004 21:16 Заголовок сообщения: |
|
|
Лано все спасибо придётся всё на перле писать ...))) |
|
Вернуться к началу |
|
|
|