Длина массива с клавиатуры c++ - Вопросы по С+

Вопрос Длина массива с клавиатуры c++

Регистрация
9 Июл 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
#include



#include



using namespace std;



int main() {

int dlina, i, count, flag, prov;

int element;

cout > dlina;

char a[dlina], b[dlina], c[dlina];

for (i = 0; i < dlina; i++)

{

cout > element;

a = element;

}



} Код спокойно выполняется в любом онлайн компиляторе, но почему-то Visual studio ругается на то, что длина массива должна быть константой. Почему так и как это завести на визуалке?
 
Регистрация
5 Мар 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Во-первых, лучше так:
cout &lt;&lt; &#34;Vvedite element massiva: &#34;;
cin &gt;&gt; a;

Во-вторых, используйте динамический массив.
char * a, * b, * c;
a = new char[dlina]; // выделить память
b = new char[dlina];
c = new char[dlina];

// какие-то действия с массивами

delete [] a; // освободить память
delete [] b;
delete [] c;
 
Регистрация
27 Окт 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Потому что по стандарту длина статического массива должна быть константой. Возможность задавать его переменной - расширение C++ в некоторых компиляторах. Рассчитывать на его наличие не стоит.
И &lt;string&gt; ты подключил, но тип string не используешь. А зря. Там длину задавать вообще не надо.
 
Сверху Снизу