0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
|
|
1 | |
Перевод числа в массив16.07.2010, 18:59. Показов 35605. Ответов 10
Метки нет (Все метки)
Здравствуйте. У такой меня вопрос: могу ли я перевести n-значное число в массив из n элементов. Например 123 = {1, 2, 3}???
Мне нужно для решения задачи по длинной арифметике на срр. Или может лучше считать число каким-либо другим способом, чтобы потом поразрядно складывать с другим?
0
|
16.07.2010, 18:59 | |
Ответы с готовыми решениями:
10
Перевод числа в массив. перевод из числа в прописной вид не массив Функция: перевод числа с плавающей точкой в текст (массив char-ов) Перевод числа из одной с.с. в другую, манипуляции с цифрами числа |
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
16.07.2010, 19:25 | 2 | |||||
Можно записать в char str[]. Функцией itoa(int val,char*buf, 10) //Вроде такой прототип.
Затем вычесть у каждого элемента строки '0'. И записать это в int A[]. Может поможет Добавлено через 3 минуты
0
|
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
|
||||||
16.07.2010, 20:25 | 3 | |||||
1
|
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
|
|
16.07.2010, 20:25 [ТС] | 4 |
Все работает, но когда число большое например 16854684351461, он выводит 0...Почему???
0
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
16.07.2010, 20:33 | 5 |
А не слишком ли большое число для int
0
|
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
|
|
16.07.2010, 20:36 [ТС] | 6 |
В том то и дело... Мне надо вводить цифры от 0 до 10^100. Потом поразрядно складывать с таким же большим числом. Ну длинная арифметика. Я делал как то сумму массивов. получилось, теперь просто числа даны большие, не могу придумать
0
|
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
|
||||||
16.07.2010, 20:52 | 7 | |||||
kzht91, сразу считывай в массив да и все
вот как считать с файла
0
|
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
|
|
17.07.2010, 01:46 [ТС] | 8 |
Во спасибо!)))) Заработало!)))
Добавлено через 4 часа 47 минут Блин весь мучался, никак не могу написать код, уже сообразил вроде, но какие то ошибки выходят. Помогите написать эту программу. Это A+B, где А и В не превышают 10^100. Буду признателен.
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
17.07.2010, 03:13 | 9 |
Можешь использовать long long тип. Или скачать библиотеку для длинных чисел
0
|
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
|
|
17.07.2010, 07:55 | 10 |
kzht91, где хранится длина массива?
ии для таких целей лучше хранить число задом наперед
0
|
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
|
||||||
17.07.2010, 17:39 [ТС] | 11 | |||||
Ну для того чтобы складывать поразрядно и начинать с единиц, т.е. с конца массива
Добавлено через 1 час 22 минуты
0
|
17.07.2010, 17:39 | |
17.07.2010, 17:39 | |
Помогаю со студенческими работами здесь
11
Бинарные числа! Перевод простого числа в бираное и расчет. Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив Заполнить массив случайными числами в интервале [1,N] так, чтобы в массив обязательно вошли все числа от 1 до N перевод числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |