Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 36
1

Как задать матрицу 20 на 20 или 200 на 200 . Как задать матрицу большого размера? Как задать гигантскую матрицу?

11.01.2023, 21:01. Показов 653. Ответов 12

Author24 — интернет-сервис помощи студентам
Не могу задать матрицу 20х20 максимум что выдаёт 16х16. При попытки ввода 20х20 выдаёт одну строку из 16 чисел. Чем обусловлен этот предел и как его увеличить? В другой же программе максимальную выводит 170х170 а 180×180 уже не хочет выводить ни строчки при том что функции задаётся Матрица с запасом arr[][3000].

Чем обусловлен этот предел и как его увеличить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2023, 21:01
Ответы с готовыми решениями:

Как задать матрицу
Нужно найти матрицу линейного оператора А, при повороте вокруг оси OZ на 180 градусов, скажите,...

Как задать матрицу?
Здравствуйте! Помогите разобраться с кодом, как и куда нужно задавать матрицы, расстояния,...

Как задать матрицу 30x30
Как задать матрицу 30x30 на С#? 1 1 1 1 .............1 0.9 1 1 1 ..........1 0.9 0.99 1...

Как задать матрицу A размерности n*n
Помогите, спасибо

Как задать матрицу не рандомно, а статический?
как задать матрицу не рандомно а статический в c# Например 12 34 12 12 21 22 22 22 22 33 33 33...

12
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
11.01.2023, 21:18 2
Цитата Сообщение от Plastic _frog_ Посмотреть сообщение
Чем обусловлен этот предел и как его увеличить?
В плюсах нет матриц, у тебя нет кода, а тут нет телепатов.
0
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 36
11.01.2023, 21:43  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <ctime>
using namespace std;
int main() {
    int n, i, j, arr[i][j];
 
    cout<<"Vvedite rozmir matricy"<<endl;
    cin>>n;
        for(int i=0; i<n; i++)
         {
        for(int j=0; j<n; j++) 
        {
            arr[i][j]=1+rand()%255;
                cout<<arr[i][j]<<" ";
        }
        cout<<endl;
        }
        delete []arr;
        return 0;
}
Второй код, где можно задать 170 на 170 же слишком большой и находится в двух файлах
0
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
11.01.2023, 22:01 4
Цитата Сообщение от Plastic _frog_ Посмотреть сообщение
C++
1
int n, i, j, arr[i][j];

0) i, j неинициализированы
1) нету VLA в плюсах
Цитата Сообщение от Plastic _frog_ Посмотреть сообщение
delete []arr;
0
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
11.01.2023, 22:04 5
Лучший ответ Сообщение было отмечено Plastic _frog_ как решение

Решение

int n, i, j, arr[i][j];
Так делать нельзя. Если хотите статический массив, то пишите int arr[10000][5000];. Если нужен динамический массив (размер вводит пользователь или он как-то вычисляется), то так:
C++
1
2
3
4
5
6
7
8
9
10
11
int** arr = new int*[N]; // N - количество строк, может быть переменной из программы
for( int i=0; i<N; ++i )
    arr[i] = new int[M]; // M - количество столбцов
 
// тут пользуемся матрицей, например
// arr[N-1][M-1] = 100;
 
// очищаем память, которую выделяли new
for( int i=0; i<N; ++i )
    delete[] arr[i];
delete[] arr;
1
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
11.01.2023, 22:07 6
Цитата Сообщение от Evgen173 Посмотреть сообщение
int arr[10000][5000];
200 метров? стек порвёца
0
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 36
11.01.2023, 22:10  [ТС] 7
Таковы условия задания, там ещё эту матрицу нужно записать в файл будет
0
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
11.01.2023, 22:13 8
Folian, согласен, по нолику бы убрать Статический массив на 500к элементов у меня норм создает.
Plastic _frog_, используйте динамические массивы и выделение памяти с помощью new
1
1710 / 1110 / 337
Регистрация: 25.01.2019
Сообщений: 2,910
11.01.2023, 22:25 9
Цитата Сообщение от Evgen173 Посмотреть сообщение
Статический массив на 500к элементов у меня норм создает.
В баню такие шляпы на стеке не нужны, ИМХО
0
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 36
11.01.2023, 22:28  [ТС] 10
А как потом передать массив, заданный через new в функцию (в качестве аргументов — матрица и ее колличество столбцов и рядов) ?
0
И тут вот те нате
322 / 209 / 117
Регистрация: 12.07.2016
Сообщений: 555
11.01.2023, 22:35 11
Лучший ответ Сообщение было отмечено Plastic _frog_ как решение

Решение

Plastic _frog_,
// определение функции
void func( int **arr, int n, int m) {...}
// вызов
func( arr, n, m );

Матрица имеет размер N на M, что значит N строк и M столбцов
1
4857 / 2656 / 913
Регистрация: 29.11.2010
Сообщений: 5,732
11.01.2023, 23:52 12
Цитата Сообщение от Plastic _frog_ Посмотреть сообщение
Таковы условия задания
Показывайте условия задания. Сомневаюсь, что там сказано "задать матрицу гигантского размера".
0
3697 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
11.01.2023, 23:57 13
Цитата Сообщение от Plastic _frog_ Посмотреть сообщение
Как задать гигантскую матрицу?
Я, я, я могу : int arr[9223372036854775807][9223372036854775807];
Ну задал же
0
11.01.2023, 23:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.01.2023, 23:57
Помогаю со студенческими работами здесь

Как задать матрицу размерности n на n с чередующимися 0 и 1?
Как задать матрицу размерности n на n с чередующимися 0 и 1??

Как рекуррентно задать матрицу Уолша?
Как записать формулу рекурсии для матрицы Уолша на Delphi?

Как задать Ганкелеву матрицу и транспонировать ее?
Ганкелева матрица является симметричной. В ганкелевой матрице равные элементы расположены на...

Как задать нулевую матрицу в условий Matlab
Привет Всем!!! как задать нулевую матрицу в условий Matlab? M=; S=; function C=primer1(M,S) ...

Как задать двумерную матрицу в search()? <algorithm>
Надо найти в большой булевской матрице другие булевские подматрицы. задаю подматрицы int one = ...

Как задать матрицу через текстовый файл?
Как изменить код, чтобы матрица задавалась не случайным образом, а через текстовый файл? #include...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru