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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
#1

Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) - C++

02.07.2013, 16:29. Просмотров 1944. Ответов 45
Метки нет (Все метки)

Всем добрый день. Решил коллективно подумать))) есть матрица из [100000][100000] в ней у меня значения 0 или 1
я представил её как char матрицу допустим если 0 это А если 1 это В занимает она в памяти 10 гигов, как сделать более компактней. Ещё осложняет ситуацию что мне к этим значениям нужно обращаться как [x][x]. Может как то можно сделать в битовом представлении такую матрицу и сжать до 8 раз или более? Кто что подскажет? пожалуйста выскажитесь по этому поводу.

Добавлено через 14 минут
Есть ещё мысль создать таблицу всех вариантов типа
[0] = "AAAAAAAAAAAAAAAAAAAA"
[1] = "AAAAAAAAAAAAAAAAAAAB"
....
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 16:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть матрица из [100000][100000] как лучше ее представить в голове компьютера) (C++):

Отгадывание числа от 0 до 100000 - C++
Добрый день! Помогите пожалуйста поправить код, для тех, кто знает язык, наверное, сразу будут видны ошибки. скажу сразу, язык знаю...

fail sort za 0.5 sek 100000 - C++
#include <conio.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> struct el { int val; ...

Игра на С++. Как лучше представить дорогу? - C++
Пишу игру,если это так можно назвать) Все алгоритмы вобщем то готовы, но вот некоторые как по мне, не очень. -КАРТА. То что я сделал...

Какова конфигурация РС лучше (до 100000 рублей)? - Игровой компьютер
Как лучше собрать ПК за 100000 рублей? Вот моя предполагаемая конфигурация (не влезает в пределы 100000 рублей из-за SSD). Я пока...

Оцените, пожалуйста, конфигурацию компьютера (до 100000 рублей) - Игровой компьютер
Здравствуйте, Город: Санкт-Петербург Магазин: "КЕЙ" (http://key.ru/) Цели: одновременная работа с несколькими программами (например,...

Моделирование выполнения 100000 заданий - GPSS
На двух процессорную вычислительную систему в интервале 10-20 секунд (закон равномерный) поступают задания. Задание выполняется любым...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
03.07.2013, 14:13 #31
Цитата Сообщение от Ko Посмотреть сообщение
Может как то можно сделать в битовом представлении такую матрицу и сжать до 8 раз или более? Кто что подскажет? пожалуйста выскажитесь по этому поводу.
- правильно мыслишь, только bool это не битовое представление.
На счёт представить - юзай bitset http://www.cplusplus.com/reference/bitset/bitset/ и битовые операции
Цитата Сообщение от Ko Посмотреть сообщение
Всё таки может кто поможет написать класс с битами?
- начни а там точно кто то поможет.
0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 23:29  [ТС] #32
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- правильно мыслишь, только bool это не битовое представление.
На счёт представить - юзай bitset http://www.cplusplus.com/reference/bitset/bitset/ и битовые операции - начни а там точно кто то поможет.
Мне vector<bool> в полне нравиться, думаю нет смысла на это тратить время
0
-=ЮрА=-
03.07.2013, 23:44
  #33

Не по теме:

Цитата Сообщение от Ko Посмотреть сообщение
Мне vector<bool> в полне нравиться, думаю нет смысла на это тратить время
- если хочешь в 8-мь раз больше места под объект то юзай и vector<bool>

0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
03.07.2013, 23:49  [ТС] #34
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- если хочешь в 8-мь раз больше места под объект то юзай и vector<bool>

да на оборот вектор заживает место на 8 раз как надо я выделял в начале по 1 байту руками для булла, а взял вектор и он сживает мои до этого 12 гигов в 1.25 гига памяти, меня устраивает. я сейчас провожу тест насколько это будет быстрей или медленней, замеряю скорость, если упадёт хотя бы на 20% придётся отказаться от вектора
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
04.07.2013, 00:01 #35
лучше бы рассказали зачем вам это нужно, и не морочили себе и людям голову )
Просто из вашего вопроса уже очевидно, что вы совершенно не в ту степь зашли.

Добавлено через 6 минут
Я конечно особо не работал с матрицами, но я сильно сомневаюсь, что вам потребуется матрица больше чем 10 на 10 элементов.

Добавлено через 5 минут
инициализация такими цифрами уже запутывает код
C++
1
vector< vector< bool > > verified( 1000000, vector<bool>( 1000000, false ) );
1000000 лучше заменять на enum, define и т п
массивы(матрицы) больше 255 должны настараживать разработчика.
0
-=ЮрА=-
Заблокирован
Автор FAQ
04.07.2013, 00:06 #36
Цитата Сообщение от Ko Посмотреть сообщение
да на оборот вектор заживает место на 8 раз как надо я выделял в начале по 1 байту руками для булла, а взял вектор и он сживает мои до этого 12 гигов в 1.25 гига памяти, меня устраивает. я сейчас провожу тест насколько это будет быстрей или медленней, замеряю скорость, если упадёт хотя бы на 20% придётся отказаться от вектора
- прочти ещё раз себя сам
100000*100000 = 1010*8 ~ 1011 ~100 Гб какие 12?

замеряю скорость, если упадёт хотя бы на 20% придётся отказаться от вектора - откажись лучше от неправильного механизма хранения данных, при котором думаю ещё и их потеря идёт.
Цитата Сообщение от Ko Посмотреть сообщение
Может как то можно сделать в битовом представлении такую матрицу и сжать до 8 раз или более? Кто что подскажет? пожалуйста выскажитесь по этому поводу.
- это была мысль.
0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:06  [ТС] #37
Есть вопрос + есть ответ, смысл выяснять зачем требуются такие большие матрицы? на вопрос ответил чётко уважаемый форумчанин Tulosba и его подход меня удовлетворил.
0
-=ЮрА=-
04.07.2013, 00:07
  #38

Не по теме:

Цитата Сообщение от XRuZzz Посмотреть сообщение
массивы(матрицы) больше 255 должны настараживать разработчика.
- т.е скриншот экрана 1024х768 должен меня насторожить?

0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:08  [ТС] #39
100000*100000 = 10*000*000*000 байт.
0
-=ЮрА=-
04.07.2013, 00:11
  #40

Не по теме:

Ko вопрос снял, да ты прав.

0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:16  [ТС] #41
и как же мне правильно сохранить 10 миллиардов значений в памяти?

Добавлено через 4 минуты
C++
1
2
    bool aaa = true;
    cout <<"aaa: "<< sizeof(aaa)<<endl; 1 байт в памяти
0
-=ЮрА=-
Заблокирован
Автор FAQ
04.07.2013, 00:20 #42
Цитата Сообщение от Ko Посмотреть сообщение
и как же мне правильно сохранить 10 миллиардов значений в памяти?
http://www.cplusplus.com/reference/b...bitset/bitset/
0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:20  [ТС] #43
я имел массив 12 гигов в памяти, сейчас взял записал каждую линейку значений по 160000 в класс(была матрица 160000 на 160000) , и получилось что моя матрица может быть хоть 10 млн. на 10 млн. я уже пробывал и рад что есть такой сайт где мы можем обмениваться опытом) всем спасибо.
У меня теперь возник вопрос как извлекать в файл vector<bool> все 100000 значений разом и потом поднимать, если кто может что ни будь придумать правильное))) пожалуйста выскажитесь.
0
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
04.07.2013, 00:23  [ТС] #44
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
vector<bool> мне пока кажется по приятней)

Добавлено через 1 минуту
я хочу пока что не выходить за пределы bool , как то понятно и удобно
0
XRuZzz
04.07.2013, 01:06     Есть матрица из [100000][100000] как лучше ее представить в голове компьютера)
  #45

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- т.е скриншот экрана 1024х768 должен меня насторожить?

естественно, зачем вам такое большое разрешение

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 01:06
Привет! Вот еще темы с ответами:

Тряска объектов на 100000 координатах - Unity, Unity3D
Сделал игру с открытым космосом, звёздной системой и кораблём, но когда далеко отлетаешь от нулевых координат все чаcти корабля начинают...

Системный блок за 100000 рублей - Игровой компьютер
Здравствуйте! Только системный блок. 1. Бюджет: на 100000 рублей +5000 рублей(если не хватит). 2. Задачи для системного блока: Хочу...

Сборка игрового ПК бюджет 100000 - Игровой компьютер
Продолжение темы http://www.cyberforum.ru/config-game-pc/thread1649436.html Хочу брать сегодня-завтра. Бюджет 105000 рублей, но...

Вычислительный центр, до 100000 рублей - Домашний компьютер
Здравствуйте. Необходимо собрать сервер - вычислительный центр, в задачи которого входят вычисления большого объёма математики, без ПО....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.07.2013, 01:06
Ответ Создать тему
Опции темы

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