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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Senri
0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 10
#1

Читаем длинное число из файл. - C++

05.09.2010, 01:56. Просмотров 1062. Ответов 8
Метки нет (Все метки)

Доброго времени суток)
У меня такой вопрос. Как можно прочитать длинное число (превышающее стандартные типы данных) из файла в массив... Ну например число, которое не превышает 10^100... Пользуюсь потоками ifstream и ofstream для работы с файлами.
Заранее благодарен за ответ!)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2010, 01:56     Читаем длинное число из файл.
Посмотрите здесь:

MSVC - читаем файл в 2х потоках - C++
Привет! Устал бороться с MSVC, может я чего-то не вижу, помогите найти ошибку (пример очень упрощенный) struct manager { ...

Длинное число - C++
Помогите пожалуйста составить код. Последовательные натуральные числа от a до b выписали одно за другим без пропусков, при этом...

Умножает число длинное на короткое - C++
Большое число должно хранится в массиве, а маленькое integer. Ответ должен хранится в массиве. Помогите изменить программу чтоб ответ...

Дано длинное целое неотрицательное число - C++
Условие: Я правильно понимаю? Если у меня дано число 15643 (0011 1101 0001 1011), то я должен в двоичном представлении...

Найти самое длинное число в тексте - C++
Помогите исправить код пожалуйста. char text; int count=0,a={0}; for(int i=0;i<strlen(text);i++){ if(int(text)>int(text)) ...

Неверно делит длинное число на короткое - C++
Подскажите, пожалуйста, в чем ошибка l_int l_int :: operator /(l_int a) { l_int res; int i, del, n10=10, r; ...

Длинное число мешает сортировке массива - C++
1) задается массив 7*7 2) после сортировки первого столбца функцией: int sort1(int A, int i, int j) { int p, k, t; for (p=i-1;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
05.09.2010, 01:57     Читаем длинное число из файл. #2
Senri, В строку допустим. Или в сторону длинной арифметики смотреть
А если в массив - то имхо проще всего считать в строку, а затем итый элемент строки переводить в число и писать в итый элемент массива.
Senri
0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 10
05.09.2010, 02:01  [ТС]     Читаем длинное число из файл. #3
Да) это с длинной арифметикой связано)))
Если есть еще способы, то буду благодарен)
За совет спасибо))) Утром на свежую голову, попробую обязательно)
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.09.2010, 02:02     Читаем длинное число из файл. #4
Senri,
Да просто создаёте чаровский массив, скажем, nember[100000] (hfpvth lkz ghbvthf), а затем из файла читаете так
C
1
fscanf(fin, "%s", number)
ForEveR
В астрале
Эксперт С++
7969 / 4731 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
05.09.2010, 02:05     Читаем длинное число из файл. #5
silent_1991, А проще все же std::string. Не надо о размере думать.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
05.09.2010, 02:07     Читаем длинное число из файл. #6
Lavroff,
Ну я просто имел ввиду Си
Senri
0 / 0 / 0
Регистрация: 01.04.2010
Сообщений: 10
05.09.2010, 02:08  [ТС]     Читаем длинное число из файл. #7
Цитата Сообщение от Lavroff Посмотреть сообщение
silent_1991, А проще все же std::string. Не надо о размере думать.
Проблемка только в том возникнет, что на сайте где задачи проверяют String компилятором не распознается. И выдают сообщение "ошибка при компиляции", так что придется через родной char
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
05.09.2010, 09:10     Читаем длинное число из файл. #8
Цитата Сообщение от Senri Посмотреть сообщение
Пользуюсь потоками ifstream и ofstream для работы с файлами.
Проблемки не должно быть, потому что ifstream и ofstream тоже из STL. Видимо вы в чем ошиблись, пытаясь применить std::string.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2010, 09:35     Читаем длинное число из файл.
Еще ссылки по теме:

Перевести длинное двоичное число в 10 систему - C++
Имеется длинное двоичное число, хранящееся в char. Необходимо перевести его в десятичную систему счисления. Как это можно сделать? ...

Почему выводит неправильное ,длинное число? - C++
я новичок,учу по книге.там задано #include <stdio.h> #include <iostream.h> int main(int nNumberofArgs, char* pszArgs) { int...

Возведение двойки в большую степень (длинное число) - C++
Добрый день всем, помогите пожалуйста разобраться с проблемой. необходимо возвести двойку в степень (в конечном итоге 2 в 512, например) ...

Перевести длинное целое число в двоичный вид - C++
Нужно перевести длинное целое число в двоичный вид как мне узнать длину массива для двоичных чисел ? про логарифм ясно , не очень...

Как можно записать очень длинное число? - C++
Доброго времени суток. Интересует следующий вопрос: Как можно записать очень длинное число (длиннее От 0 до 18 446 744 073 709 551...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mencey
147 / 94 / 7
Регистрация: 22.07.2010
Сообщений: 424
05.09.2010, 09:35     Читаем длинное число из файл. #9
Можно также создать класс больших целых чисел, потом записать в этот класс число из файла.
У меня в книге такой класс есть, но переписывать несколько страниц лень. Класс работает примерно так:

C++
1
2
3
4
5
6
7
8
Number a(12);
Number b("343478568379456987234659873265872368876917659812756782357623587436873658925786");
string num;
ifstream fin("number.int");
fin >> num;
b = num.c_str();
b += a * b;
a = b*b*b;
Yandex
Объявления
05.09.2010, 09:35     Читаем длинное число из файл.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru