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

Cоздать массив размера введенного числа - C++

Восстановить пароль Регистрация
 
Nik_Bar
2 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 50
22.11.2013, 15:57     Cоздать массив размера введенного числа #1
Ребят не могу создать массив.
Вот часть кода:
C++
1
2
3
4
5
6
int a = 0;
cout << "Введите кол-во клавишь на клавиатуре: ";
cin >> a;
 
int b[a];
int p;
Как понимаете, пользователь вводит число, а потом программе нужно создать массив, величина которого(может я не правильно говорю, извините) будет равна введенному числу, но Visual выдает ошибку. Помогите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2013, 15:57     Cоздать массив размера введенного числа
Посмотрите здесь:

C++ Задан вещественный массив размера N. Создать целочисленный массив такого же размера, в котором будут записаны индексы исходного массива в порядке во
Cоздать рекурсивную функцию которая исчисляет y=x+x^2/2+x^3/3+x^4/4...и тд, зависит от введенного икса C++
C++ Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу:
Сформировать массив из всех делителей введенного с клавиатуры натурального числа C++
Даны целые числа N(>2). Сформировать и вывести целочисленный массив размера N, C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
22.11.2013, 15:58     Cоздать массив размера введенного числа #2
C++
1
int *b = new int[a];
Nik_Bar
2 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 50
22.11.2013, 16:04  [ТС]     Cоздать массив размера введенного числа #3
Цитата Сообщение от BumerangSP Посмотреть сообщение
C++
1
int *b = new int[a];
а можешь объяснить, что, как и почему?
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
22.11.2013, 16:15     Cоздать массив размера введенного числа #4
Длина статического массива должна быть известна и постоянна на этапе компиляции. Т.е. если было бы так:
C++
1
2
const int a = 10;
int b[a];
Проблем бы не возникло.
В данном случае размер нужно ввести, поэтому мы используем динамический массив переменной длины, и когда мы ввели размер, в памяти выделяется место под массив указанного размера. Все это во время выполнения программы.

В некоторых компиляторах существует такое расширение, позволяющее задавать длину статического массива во время выполнения. Можно тут почитать: http://en.wikipedia.org/wiki/Variable-length_array
Nik_Bar
2 / 1 / 0
Регистрация: 21.11.2012
Сообщений: 50
22.11.2013, 16:34  [ТС]     Cоздать массив размера введенного числа #5
Цитата Сообщение от BumerangSP Посмотреть сообщение
Длина статического массива должна быть известна и постоянна на этапе компиляции. Т.е. если было бы так:
C++
1
2
const int a = 10;
int b[a];
Проблем бы не возникло.
В данном случае размер нужно ввести, поэтому мы используем динамический массив переменной длины, и когда мы ввели размер, в памяти выделяется место под массив указанного размера. Все это во время выполнения программы.

В некоторых компиляторах существует такое расширение, позволяющее задавать длину статического массива во время выполнения. Можно тут почитать: http://en.wikipedia.org/wiki/Variable-length_array
Спасибо
Yandex
Объявления
22.11.2013, 16:34     Cоздать массив размера введенного числа
Ответ Создать тему
Опции темы

Текущее время: 04:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru