Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для casper007
71 / 71 / 58
Регистрация: 12.12.2013
Сообщений: 420

Как определить массив, размерность которого определяет пользователь после запуска программы на выполнение?

10.01.2014, 21:36. Показов 2994. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
int k;
int mass[k];//к-еще не инициализирован, и поэтому выводится ошибка, а менять значение нельзя
Очевидно, что нужен указатель. Но как это реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.01.2014, 21:36
Ответы с готовыми решениями:

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

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

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

23
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 532
11.01.2014, 01:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от AnDrew_LP Посмотреть сообщение
Попробуйте запустить программу с delete[] и с delete
я пробовал Ничего не заметил Вот и спросил Как можно проверить

Добавлено через 17 секунд
вы сказали "никак"
0
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
11.01.2014, 01:29
Цитата Сообщение от ilja123 Посмотреть сообщение
я пробовал Ничего не заметил Вот и спросил Как можно проверить

Добавлено через 17 секунд
вы сказали "никак"
1)http://ru.wikipedia.org/wiki/%... 0%B8%D0%B5
2)В Вашем коде был массив int, в моем собственный класс. Попробуйте скомпилировать без [] мой код, увидите результат.
3)Если с int в Visual Studio все нормально работает, не факт, что будет нормально работать с другим компилятором.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.01.2014, 02:50
Цитата Сообщение от ilja123 Посмотреть сообщение
Как проверить??
по стандарту если выделяли память через new[], а удаляли через delete, то это UB

Добавлено через 4 минуты
5.3.5
1. The delete-expression operator destroys a most derived object (1.8) or array created by a new-expression.
delete-expression:
::optdelete cast-expression
::optdelete [ ] cast-expression
The first alternative is for non-array objects, and the second is for arrays. Whenever the delete keyword
is immediately followed by empty square brackets, it shall be interpreted as the second alternative.76
The operand shall have a pointer to object type, or a class type having a single non-explicit conversion
function (12.3.2) to a pointer to object type. The result has type void.
2. If the operand has a class type, the operand is converted to a pointer type by calling the above-mentioned
conversion function, and the converted operand is used in place of the original operand for the remainder of
this section. In the first alternative (delete object), the value of the operand of delete may be a null pointer
value, a pointer to a non-array object created by a previous new-expression, or a pointer to a subobject (1.8)
representing a base class of such an object (Clause 10). If not, the behavior is undefined.
In the second
alternative (delete array), the value of the operand of delete may be a null pointer value or a pointer
value that resulted from a previous array new-expression.78 If not, the behavior is undefined. [ Note: this
means that the syntax of the delete-expression must match the type of the object allocated by new, not
the syntax of the new-expression. —end note ] [ Note: a pointer to a const type can be the operand of a
delete-expression; it is not necessary to cast away the constness (5.2.11) of the pointer expression before it
is used as the operand of the delete-expression. —end note ]
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
15.01.2014, 15:01
Цитата Сообщение от some_name Посмотреть сообщение
то мы "разорвем массив", а это уже серьезный косяк.
Мы не массив разорвём, мы разорвём себе мозг, выискивая, по какой причине у нас программа крашится в рантайме. Нельзя просто так освободить кусок массива, оператор delete/delete[] надо применять только к тому же адресу, что когда-то вернул соответствующий new/new[].
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.01.2014, 15:01

Как сделать так,чтобы размерность массива вводил пользователь и массив заполнялся случайными числами?
#include "stdafx.h" #include <iostream> #include <locale> #include <stdlib.h> using namespace std; void mas(int a) //вывод...

Как можно программно, после запуска программы, переместить окно программы на определенные координаты?
Как можно программно, после запуска программы, переместить окно программы на определенные координаты?

Определить, как изменится массив после работы программы
Написать программы: 1) В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru