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

Тип данных для очень большого массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить ненужную информацию в конце файла, не создавая другой файл http://www.cyberforum.ru/cpp-beginners/thread93242.html
Молжа ли удалить конец файла(удаление ненужной информации в конце файла)? не создавая другой файл. или как нибуть урезать его?
C++ Странная формула. Есть задание: Дано натуральное n, вычислить 1/0!+1/1!+...+1/n! Как понимать эту формулу? http://www.cyberforum.ru/cpp-beginners/thread93240.html
C++ как работать с char*
вопщем, есть задание: создайте класс osoba, конструктору которого передаются значения: фамилия, имя (char*), зарплата (double). Нужна помощь с char*, так как я не разбираюсь с етим типом... Знаю как сделать с char, но не с char*. Может кто может отредактировать мой код, под char*... #include <iostream.h> #include <conio.h> #include <math.h> class osoba { char...
Вывести дату Дня учителя в этом году C++
Задача по с++: День учителя отмечается каждый год, в первое воскресенье октября. Дано натуральное число n, которое представляет собой номер года. Вывести дату Дня учителя в этом году.
C++ Работа с указателями - прокомментировать код http://www.cyberforum.ru/cpp-beginners/thread93209.html
ваще нефига не понятно что означает каждая строка #include <conio.h> #include <stdio.h> #include <stdlib.h> float f(float fb,float fc) {return fb/fc;} void main() {const int N1=100; int a,i,j,n,h=0; float b,z,smax=0.0;
C++ Требуется домножить все члены последовательности а1, а2, …, аn на квадрат ее наименьшего члена, если аk  0, и на квадрат ее наибольшего члена, если а Дана последовательность действительных чисел а1, а2, …, аn. Требуется домножить все члены последовательности а1, а2, …, аn на квадрат ее наименьшего члена, если аk  0, и на квадрат ее наибольшего члена, если аk < 0 (1  k  п). подробнее

Показать сообщение отдельно
insideone
Модератор
Автор FAQ
3636 / 914 / 49
Регистрация: 10.01.2010
Сообщений: 2,465
08.02.2010, 13:49     Тип данных для очень большого массива
Может написать свой класс подобно такому:
C++
1
2
3
4
5
6
class Array{
    site_t Offset;
    DBType data[BLOCK_SIZE];
    DBType operator [] (size_t key);
    Array* Next;
};
если запрашивается данные data[x] где x > BLOCK_SIZE то выделяется новый Array и записывается указатель на него, и берется попытка взять данные из него. При этом новый Array знает что данные берутся с поправкой на Offset, т.е. реальный индекс будет не x а x-BLOCK_SIZE

Не знаю для каких целей требуется такие огромные массивы, но нужно не забывать про базы данных...
И ещё... двумерный массив это тот же одномерный массив же по сути, по крайне мере в памяти все идет в линию. Так что Array[10][20] при том что мы берем A[1][1] это тоже самое что A[200] и мы берем A[21]. Можно сделать пересчеты по обращению и все
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru