Форум программистов, компьютерный форум, киберфорум
Наши страницы

большие массивы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти наиболее близкий элемент к целому http://www.cyberforum.ru/cpp-beginners/thread94324.html
Прошу помощи ::help: Дан вещественный массив x(n). Найти элемент массива, значение которого наиболее близко к какому-нибудь целому числу. надо написать на C HELP. =(
C++ Найти все трёхзначные числа Народ, помогите плз с этой задачей: Найти все трёхзначные числа, которые можно представить разностью между квадратом числа, образованного первыми двумя цифрами, и квадратом третьей цифры. надо... http://www.cyberforum.ru/cpp-beginners/thread94322.html
C++ Взаимное расположение прямых
Люди.ПЛЗ помогите::wall::help: Даны вещественные числа A1, B1, C1, А, В, С. Выяснить взаимное расположение прямых A1*x+B1*y=C1 и A*x+B*y=C. Если прямые пересекаются, напечатать координаты точки...
C++ Найти такие натуральные числа P и Q, не имеющие общих делителей, что P/Q = M/N
1) Даны натуральные числа M и N. Найти такие натуральные числа P и Q, не имеющие общих делителей, что P/Q = M/N. 2) Даны натуральное число N и ломаная линия, состоящая из N отрезков и заданная...
C++ Факториал http://www.cyberforum.ru/cpp-beginners/thread94300.html
Здравствуйте. Нужна программа для расчета факториала. Факториал числа n — произведение всех натуральных чисел до n включительно. Пример: Факториал числа 5 5! = 1*2*3*4*5 = 120 Сделал, но...
C++ динамический массив!!!! пожалуйста, помогите!!!!! нужно написать программки до завтра 1) В одномерном массиве, состоящем из п целых элементов, преобразовать массив таким образом, чтобы сначала располагались все элементы,... подробнее

Показать сообщение отдельно
Day
1159 / 964 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
17.02.2010, 19:13
Я бы все-таки для такого массива использовал бинарный файл.
Создаешь файл FILE *f = fopen(Name, "wb");
Заполняшь его нулями.
Потом
fclose(f);
f = fopen(Name, "rb+"); - Можно будет и читать и писать
Пишешь так:
fseek(f, off, 0); - Подвод к нужной точке
fwrite(&d, sizeof(double), 1, f); // d - записываемое число (double),
а можно писать и блоками по 3 числа, например, тут ты - хозяин
(Надеюсь, элементарную работу с файлами ты сечешь)
Нужно достать число из "массива" - fread..., Засунуть его тыда - fwrite...
Все равно, даже если транслятор или программа во время исполнения,
сделает вид, что им такие размеры - нипочем, массив твой будет скорее всего находиться
в виртуальной памяти и в файле подкачки. Т.е. фактически - на диске.
Уж лучше управлять этим процессом самому. Тем более, что при современных скоростях
дисководов и методах кэширования доступа ты разницу и не заметишь.
А главное - не будешь зависеть от конкретного компа и его операционки, решай задачу
хоть в ДОСе, хоть на 286-ой
Удачи!
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.