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

Работа с двухмерным динамеческим массивом через указатель - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как повернуть элементы матрицы на 90 градусов против часовой стрелки? http://www.cyberforum.ru/cpp-beginners/thread1306472.html
ЗАДАНИЕ: Дана матрица. Повернуть все её элементы вокруг центра на 90 градусов против часовой стрелки. #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main() {
C++ Динамические массивы с передачей в функции Здравствуйте, завтра у меня обязательная контрольная работа, без права пересдачи, я переболел ветрянкой и не смог разобраться, времени не хватает, помогите, напишите пожалуйста программу на С++(мы сдаем на Borland C++). Задание: вводить неодноразово и обрабатывать массивы, размещая их в динамической памяти.Для каждого из заданий использовать отдельную функцию с передачей параметров в две... http://www.cyberforum.ru/cpp-beginners/thread1306466.html
C++ Выяснить, является ли натуральное число N точным квадратом
Составит линейную логическую программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае: натуральное число N является точным квадратом. (не забегая вперёд, по линейным программам)
C++ Как создать глобальную константу для всего проекта?
как создать?
C++ Передача двухмерного массива в функцию http://www.cyberforum.ru/cpp-beginners/thread1306450.html
Товарищи, помогите, пожалуйста, с таким вопросом: Я хочу сделать функции ввода и вывода элементов двухмерного массива, да так, чтобы эти функции были универсальными и принимали аргументы в качестве параметров. Но в описании функции требуется указывать его размерность: void filling_array (arr); Вопрос: как написать функцию, чтобы эти размеры задавались при вызове? Заранее спасибо)
C++ Написать функцию для сортировки порядка строк в файле по возрастанию их длины Дан текстовый файл состоящий из некоторого количества строк.написать функцию для сортировки порядка строк в файле по возрастанию их длины подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2908 / 1444 / 397
Регистрация: 18.10.2014
Сообщений: 2,662
20.11.2014, 23:29     Работа с двухмерным динамеческим массивом через указатель
Цитата Сообщение от true_bugmaker Посмотреть сообщение
потому что по факту в сях нету двумерных массивов, создаётся одномерный массив из int*, указателей на одномерные массивы int:
Как можно выделять двумерные динамические массивы (если оба размера являются неконстантными) я рассказывал здесь: Передача двумерного массива в функцию. Ошибка "invalid types for array subscript". Способов как минимум три.

Но если говорить о "сях", то в С поддерживаются и обыкновенные локальные массивы с неконстантной размерностью

C
1
int matrix[size_x][size_y];
поэтому фраза "по факту в сях нету двумерных массивов" мне не совсем ясна.

Добавлено через 5 минут
Цитата Сообщение от jake09 Посмотреть сообщение
C++
1
matrix = malloc(m*sizeof(int**));
Как вы умудрились это скомпилировать??? Функция 'malloc' возвращает 'void *', который неприводим к 'int **' без явного каста. Код не компилируется.

Но в любом случае ТС можно посоветовать научиться не упоминать имен типов в sizeof и воспользоваться способом 3б по вышеприведенной ссылке

C++
1
2
3
4
5
matrix = static_cast<int **>(malloc(m * sizeof *matrix));
int *data = static_cast<int *>(malloc(m * n * sizeof *data));
 
for (int i = 0; i < m; ++i, data += n)
  matrix[i] = data;
 
Текущее время: 16:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru