Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/84: Рейтинг темы: голосов - 84, средняя оценка - 4.76
 Аватар для pcmax
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274

Двумерный динамический массив: как это работает?

16.08.2018, 18:26. Показов 18482. Ответов 90
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вобщем неправильно понимаю суть.
помогите разобраться.

двумерный динамический массив. в определении дается , что это объявление динамического указателя на укзатель. или двойного указателя.

ок. и так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
int i;
for(i=0; i<10; ++i){
int ** array[i]  // создал массив в котором будут находится указатели на динамические массивы.  то есть массив из указателей на указатели.
int j;
j=j+1;
int *dinarray= new int [j]{j}; // cоздал , вернее зарезервировал память для динамического массива и заполнил его. 
 
array[i]=&dinarray; // помещаю адреса динамического одномерного массива в массив созданный для указателей  на эти адреса. то есть беру адрес у динамического массива и помещаю его в массив для адресов. 
}
 
return 0;
 
}
вобщем думаю что это бред. помогите понять где заблудился
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.08.2018, 18:26
Ответы с готовыми решениями:

Пом Динамический - двумерный массив, не работает=(
//--------------------------------------------------------------------------- // Дана целочисленная квадратная матрица. Определить сумму...

Как реализовать двумерный динамический массив?
Доброго дня суток, форумчане! Подскажите пожалуйста, как реализовать двумерный динамический массив?

Как объявить двумерный динамический массив
int *matrix = new int ; че ругается ? а как сделать если без констант надо ?

90
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
03.07.2022, 00:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Folian Посмотреть сообщение
Он либо троллирует, либо одно из двух.
Цитата Сообщение от Алексей1153 Посмотреть сообщение
троллинг или просто пьяный ?
Цитата Сообщение от hoggy Посмотреть сообщение
либо он просто неадекват.
Местный сумасшедший?
1
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
03.07.2022, 01:01
Цитата Сообщение от Croessmah Посмотреть сообщение
формулировка "An object is a region of storage." уже убрана из стандарта.
В действующем стандарте Си region of data storage на месте:

https://www.iso.org/obp/ui/#is... :term:3.15

Цитата Сообщение от ISO/IEC 9899:2018(en)
3.14
memory location


either an object of scalar type, or a maximal sequence of adjacent bit-fields all having nonzero width

Note 1 to entry: Two threads of execution can update and access separate memory locations without interfering with each other.

Note 2 to entry: A bit-field and an adjacent non-bit-field member are in separate memory locations. The same applies to two bit-fields, if one is declared inside a nested structure declaration and the other is not, or if the two are separated by a zero-length bit-field declaration, or if they are separated by a non-bit-field member declaration. It is not safe to concurrently update two non-atomic bit-fields in the same structure if all members declared between them are also (nonzero-length) bit-fields, no matter what the sizes of those intervening bit-fields happen to be.

EXAMPLE:
A structure declared as

C
1
2
3
4
5
struct {
 char a;
 int b:5, c:11,:0, d:8;
 struct { int ee:8; } e;
}
contains four separate memory locations: The member a, and bit-fields d and e.ee are each separate memory locations, and can be modified concurrently without interfering with each other. The bit-fields b and c together constitute the fourth memory location. The bit-fields b and c cannot be concurrently modified, but b and a, for example, can be.

3.15
object


region of data storage in the execution environment, the contents of which can represent values

Note 1 to entry: When referenced, an object can be interpreted as having a particular type;
В черновике 9899:202x аналогичное определение тоже есть:
https://www.open-std.org/jtc1/... ction.3.15
0
 Аватар для pcmax
443 / 74 / 7
Регистрация: 29.01.2018
Сообщений: 1,274
03.07.2022, 02:47  [ТС]
Цитата Сообщение от politoto Посмотреть сообщение
уже убрана из стандарта.
а я об этом и говорил, стандарты меняются. и то, во что еще вчера вы свято верили, на утро может быть уже выкинуто. а еще есть компиляторы. посути будет все так как сделает компилятор, а компилятор сделает так как напишет разработчик а иногда в погоне за наивысшей оптимизацией, разработчики класть хотели на стандартры языка. и мы тут можем долго упрожняться в глупости и спорить что и где будет храниться и тд. но все будет так как сделает компилятор, а компилятор сделает так как его напишет разработчик. а еще кто-то может собрать компилятор из исходников с параметрами сборки известными только ему. и что будет на выходе не известно. но еще раз говорю, что во всей той последовательности действий для получения исполняемого файла сложно отследить как и что случается на самом деле. нельзя вот так тыкать носом в стандарты обвиняя кого-то в тупости не понимая того факта, что компилятор БОСС, и как он сделает на самом деле вы даже можете не узнать.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
03.07.2022, 03:47
Цитата Сообщение от pcmax Посмотреть сообщение
разработчики класть хотели на стандартры языка.
Разработчики зачастую эти стандарты разрабатывают и улучшают.

А пользоваться компиляторами, которые неизвестно кто неизвестно как написал, неизвестно кто неизвестно как собрал, и которые выдают в результате неизвестно что, никто не заставляет.
Но иногда приходится...

Цитата Сообщение от Stroustrup
1.10 Advice

[1] Don't panic! All will become clear in time;[CG: In.0]
https://isocpp.github.io/CppCo... dont-panic

[3] You don't have to know every detail of C++ to write good programs.

[5] For the final word on language definition issues, see the ISO C++ standard; §16.1.3; [CG: P.2].
https://isocpp.github.io/CppCo... -Cplusplus
https://www.google.ru/books/ed... printsec=2
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
03.07.2022, 06:58
Цитата Сообщение от pcmax Посмотреть сообщение
да ничего вы не создали.
Еще раз повторяю: в терминологии языка С++ нет термина "создали" или "не создали". Потрудитесь не замусоривать обсуждение какми-то бессмысленными комбинациями слов.

Цитата Сообщение от pcmax Посмотреть сообщение
это всего лишь своего рода схема того как будет устроен объект,
Совершенно верно. И?

Цитата Сообщение от pcmax Посмотреть сообщение
а совокупность таких объектов составить класс.
А вот это уже полнейшая чушь. Класс - это класс. Никакая "совокупность объектов" никакого отношения к этому не имеет.

Цитата Сообщение от pcmax Посмотреть сообщение
у вас даже память не выделит компилятор пока вы не создадите объект.
Выдели ли память компилятор или не выделит не имеет никакого отношения к рассматриваемому вопросу.

Цитата Сообщение от pcmax Посмотреть сообщение
хорош свистеть ребятушки.
Я думаю, народ, что это просто троллинг.

Цитата Сообщение от pcmax Посмотреть сообщение
разработчики класть хотели на стандартры языка.
... хотя пионэрской бредятины в писанине так много, что кроме как "тупым" этот троллинг никак назвать не получается.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
03.07.2022, 12:41
Цитата Сообщение от pcmax Посмотреть сообщение
переменная это область памяти, тут все ок. но почему не сказать так просто. зачем называть переменную объектом?
В своей книге A Tour of C++ (Addison-Wesley Professional, 2018 ISBN 0134998030, 9780134998039) Bjarne Stroustrup пишет:
Цитата Сообщение от Stroustrup,2018
1.4 Types, Variables, and Arithmetic

Every name and every expression has a type that determines the operations that may be performed on it.
For example, the declaration
C++
1
int inch
specifies than inch is of type int; that is, inch is an integer variable.

A declaration is a statement that introduces an entity into the program. It specifies a type for the entity:

A type defines a set of possible values and a set of operations (for an object).
An object is some memory that holds a value of some type.
A value is a set of bits interpreted according to a type.
A variable is a named object.
https://books.google.ru/books?... &q&f=false

В учебнике того же автора Programming: Principles and Practice Using C++ (Addison-Wesley Professional, 2014, ISBN 0133796744, 9780133796742)
целая глава называется Objects, Types and Values.

https://books.google.ru/books?... &q&f=false

Цитата Сообщение от Stroustrup,2014
To read something, we need somewhere to read into; that is; we need somewhere in the computer's memory to place what we read.
We call such a "place" an object.
An object is a region of memory with a type that specifies what kind of information can be placed in it.
A named object is called a variable. For example, character strings are put into string variables and integers are put into int variables. You can think of an object as a "box" into which you can put a value of the object's type...
и далее https://books.google.ru/books?... &q&f=false
Цитата Сообщение от Stroustrup,2014
3.2 Variables

...
The "places" in which we store data are called objects. To access an object we need a name. A named object is called a variable and has a specific type (such as int or string) that determines what can be put into the object (e.g., 123 can go into an int and "Hello, World!\n" can go into a string) and which operations can be applied (e.g., we can multiply ints using the * operator and compare strings using the <= operator). The data items we put into variables are called values. A statement that defines a variable is (unsurprisingly) called a definition, and a definition can (and usually should) provide an initial value. Consider:
C++
1
2
string name = "Annemarie";
int number_of_steps = 39;
1
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
03.07.2022, 12:58
Цитата Сообщение от politoto Посмотреть сообщение
1.4 Types, Variables, and Arithmetic
politoto, тут уже совсем на пальцах объясняется, и еще человеческим языком .

Но автор темы уверен что ЯП должен быть таким как он представляет, и никак иначе.
Если он другой - значит неправильный.
С таким подходом, увы, далеко не уедешь.
pcmax,
На данный момент есть большое множество ЯП, выбирайте не свой вкус и цвет.

В С++ достаточно сложных концепций, и также достаточно нюансов и тонкостей, с которым при небрежном обращении
получим ошибки (компиляции, исполнения. неопределенное поведение, логические ).
И именно незнание базовых концепций, что есть что, и приводит к этим ошибкам.
Но без этих тонкостей, ЯП теряет свою гибкость и функциональность. Станет более "деревянным".
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
03.07.2022, 13:24
Цитата Сообщение от politoto Посмотреть сообщение
Bjarne Stroustrup пишет
А кто это? Автор очередной книженции "Как выучить С++ за 21 день"?
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
03.07.2022, 13:38
Цитата Сообщение от Croessmah Посмотреть сообщение
А кто это? Автор очередной книженции "Как выучить С++ за 21 день"?
Близко от далекого : Страуструп, Бьёрн - Википедия
0
 Аватар для Martein
704 / 109 / 21
Регистрация: 22.06.2014
Сообщений: 241
03.07.2022, 14:36
Цитата Сообщение от pcmax Посмотреть сообщение
вы задолбали с объектами что стали переменными, щас вобще тронулись и заявляете что структура может быть классом.
Продолжим же.
В условном операторе
C++
1
if (expr) { }
следующее за ним вычисляемое выражение тоже является объектом, главное чтобы объект умел преобразовываться к булеву типу. Преобразование классов к другим классам, в том числе и к булеву типу говорит о том, что и булев тип -- это частный случай класса. В итоге вот тебе накидываю: истина или ложь -- это тоже объекты, то есть экземпляры булева класса.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class car {
public:
    car(bool) {}
    operator bool() { return true; }
};
 
int main()
{
    car jiguli = false;
    if (jiguli) {
        std::cout << "Hello, world!";
    }
    return 0;
}
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
03.07.2022, 23:55
Цитата Сообщение от SmallEvil Посмотреть сообщение
на пальцах объясняется, и еще человеческим языком
и с картинками

https://books.google.ru/books?... &q&f=false
Миниатюры
Двумерный динамический массив: как это работает?   Двумерный динамический массив: как это работает?   Двумерный динамический массив: как это работает?  

Двумерный динамический массив: как это работает?   Двумерный динамический массив: как это работает?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2022, 23:55

Как заполнить двумерный динамический массив?
вот я создал двумерный динамический массив (правильно надеюсь): int row=2; for (int i=0; i&lt;dl; i++){if ('!'==str){row+=1;}}; int...

Как перезаписать двумерный динамический массив?
Здравствуйте! Проблема в том, что при перезаписи массива с большой разницей в строках и столбцах функция работает не правильно. В чем может...

Как создать динамический двумерный массив
Можно ли создать на С++ динамический двухмерный масив? Как? int z , x ; cin &gt;&gt; z ; cin &gt;&gt; x ; int *arr = new int(z); int...

Как заполнить двумерный динамический массив?
Кто может объяснить , как создать динамический двумерный массив и записать в него элементы из файла, при этом подсчитав количество строк и...

Как создать динамический двумерный массив
Динамический одномерный массив p можно сождать примерно так: int N, *p; cin &gt;&gt; N; p= new int А как создать динамический...


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

Или воспользуйтесь поиском по форуму:
91
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru