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

хитрая константа не даёт создать обычный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы и натуральные числа http://www.cyberforum.ru/cpp-beginners/thread391748.html
Помогите пожалуйста написать программу. Ввести натуральное число n. а) Записать в массив только те делители числа n, которые являются палиндромами. б) Вывести все делители числа n, у которых последняя цифра наименьшая. Заранее спасибо.
C++ Класс "Список", функция добавления элемента в конец #include <iostream> #include <cstring> using namespace std; struct myElem { char *line; myElem *next; myElem(const char* str) http://www.cyberforum.ru/cpp-beginners/thread391731.html
C++ Вывести все целые числа, расположенные между заданными
Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их убывания. Использовать цикл for. #include <stdio.h> #include <conio.h> void main() { int a,b,i; clrscr(); printf("vvedite a: "); scanf("%i",&a);
C++ Проверьте, пожалуйста, правильность составленного мной алгоритма)
Вот код: #include <iostream> #include <stdlib.h> #include <stdio.h> int main() { FILE *fp; int n, i, min, number, sum, a; char fname = "D:\\file.txt";
C++ #pragma once http://www.cyberforum.ru/cpp-beginners/thread391715.html
Можно ли считать директиву #pragma once полноценно заменой техники #ifndef MYFILE_H #define MYFILE_H ... #end if
C++ Ошибка сегментации. Здравствуйте, дорогие форумчане! Тут такое дело, есть программа, код приведен ниже, там есть некоторый массив D. После компиляции программы вместе с этим массивом, программа вылетает, выдав ошибку Без неё, программа компилируется, выполняет циклы и успешно завершает работу. Проверил отладчиком, выдало "ошибку сегментации". Увеличил размер стека, тож не помогло. Чё делать? #include... подробнее

Показать сообщение отдельно
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.11.2011, 19:32     хитрая константа не даёт создать обычный массив
Цитата Сообщение от PraZuBeR Посмотреть сообщение
go, это проблемы компилятора.
Нет, вот цитата
Массивы переменной длины

В С89 размерности массивов необходимо объявлять при помощи выражений из целых констант, причем размер массива фиксируется во время компиляции. В силу определенных обстоятельств, в С99 это правило было изменено. В С99 можно объявить массив, размерности которого определяются любыми допустимыми целыми выражениями, в том числе и такими, значения которых становятся известны только во время выполнения. Такой массив называется массивом переменной длины (variable-length array, VLA). Однако такими массивами могут быть только локальные массивы (то есть те, у которых область видимости — прототип или блок).

Не по теме:


Цитата Сообщение от fasked Посмотреть сообщение
то, что Вы показываете, называется variable-length array и никакого отношения к сабжу не имеет.
Не совсем так, нужно просто это понимать

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