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

Можно ли задать массив, не зная заранее его длину? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ классы и объекты в с++ http://www.cyberforum.ru/cpp-beginners/thread360237.html
очень прошу помочь написать программу. т.к. в программировании я 0 :( Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса. Выполнить исследование вызовов конструкторов и деструкторов КАДРЫ имя – char* номер цеха – int разряд – int
C++ Решение нелинейных уравнений и систем Написать программу решения нелинейного уравнения методом деления отрезка пополам по формуле:{2}^{x}+{x}^{2}-3=0. Здрасвуйте сделайте пожалуйста программу. http://www.cyberforum.ru/cpp-beginners/thread360232.html
Сортировка C++
Дан массив из n целых чисел, дан индекс элемента. Требуется расположить элементы массива так, что бы элементы меньше a стояли слева, а элементы больше стояли справа. #include "stdafx.h" #include "iostream" using namespace std; int _tmain(int argc, _TCHAR* argv) {
Список через массив C++
мне не интересуют исходники меня интересуют два вопроса 1)массив должен быть постоянного размера?(ну то есть в конструктор передал n - таким и будет) 2)в задании написано Класс АТД реализовать как динамический массив. Для этого определение класса должно иметь следующие поля: -указатель на начало массива ..... но поскольку это массив то начало массива - нулевой элемент.или нет?
C++ Цвет текста http://www.cyberforum.ru/cpp-beginners/thread360207.html
Вообщем мне надо чтобы было как на примере цветной текст как это сделать?
C++ Как выполнить данную задачу на с++ ? Вычислить координаты точек пересечения кривых, заданных уравнениями y=(x+c) и ((pow((x/2),2))+(pow(y,2)))=1. Проверить результаты подстановкой в исходные уравнения. подробнее

Показать сообщение отдельно
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
04.10.2011, 06:18     Можно ли задать массив, не зная заранее его длину?
Доброе утро всем.

Вчера начал читать "главу 4 Массивы". Там предложили 2 варианта объявления массива:
1) неинициализированный
C++
1
int A[4];
2) инициализированный
C++
1
int A[]={2,3,5,1};
Я это напечатал, всё работает.

Потом в учебнике написано так:
"Ввод элементов одномерного массива также можно организовать с клавиатуры, например следующим образом:"
И приведён код:
C++
1
2
3
cin>>size;
for (i=0; i<size; i++)
cin>>A[i];
Я это записал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h> 
using namespace std;
int main() 
{       
    int i, size, A[size];
    cout<<"Vvedite razmer massiva"<<endl<<"size=";
    cin>>size;
 
    for (i=0; i<size; i++)
        cin>>A[i];
    
    for (i=0; i<size; i++)
        cout<<A[i]<<endl;
        
    getch();  
    return 0;
}
Я подумал так: вначале я ввожу с клавиатуры размер массива А (строчка 8),
потом ввожу по очереди все элементы в массив (строчки 10, 11),
а потом чтобы он мне вывел массив на экран (13, 14).

Но не работает. При компиляции 3 ошибки:
error C2057: требуется константное выражение
error C2466: невозможно выделить память для массива постоянного нулевого размера
error C2133: A: неизвестный размер

Так что неправильно то? Я вроде бы всё по учебнику сделал.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru