c++ гигантский массив

76
11 марта 2022, 11:20

Как на с++ сделать матрицу размером 10^5, у меня получается но только 10^4

Код

int M[100000][100000];

приводит к ошибке.

Answer 1

У вас есть два размера - S и N, причем S*N <= 106.

Как вариант,

cin >> S >> N;
int ** a = new int*[S];
for(int i = 0; i < N; ++i) a[i] = new int[N];

Или еще проще:

cin >> S >> N;
vector<vector<int>> a(S,vector<int>(N,0));

И уж совсем не нужно делать матрицу, которая будет заполнена не более чем на сотую долю процента...

Да, я не очень вникал в вашу задачу, так что не знаю, нужна ли даже такая матрица, или задачу можно решить проще (все же латышский - не мой конек :)). Но даже если нужна - то она тут вполне разумного размера...

READ ALSO
Как умножать между собой переменные?

Как умножать между собой переменные?

Мне нужно выполнить следующие арифметическое действие, компилятор думает, что это указатель, а не оператор умноженияcost и procent — имена переменных

110
Как это работает? R&quot;=====( )=====&quot;

Как это работает? R"=====( )====="

во многих примерах сталкивался с подобной обёрткой HTML, но не где не могу найти как это работает ни словаВот такие примеры часто попадаются:

114
Как запретить ввод несколько нулей подряд в текстовое поле ввода?

Как запретить ввод несколько нулей подряд в текстовое поле ввода?

Как запретить ввод в текстовое поле несколько нулей одновременно, чтобы можно было вводить только числа с плавающей запятой, например, 0,5 и целые...

251
Оптимизация MySql запроса: count, orderBy, groupBy

Оптимизация MySql запроса: count, orderBy, groupBy

столкнулась с проблемой оптимизации следующего запроса

122