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

Инициализация динамического массива - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.95
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
21.05.2014, 10:42     Инициализация динамического массива #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    int a, i = 0;
    int *array = new int [10];
    std::cout << "Enter numbers " << std::endl;
    while(std::cin >> a)
    { i < 10;
       array[i] = a;
    std::cout << *array << std::endl;
        }
    delete [] array;
    _getch();
        return 0;
}
Как я понял массив имеет ограниченный размер. Если это так? Если размер массива известен. А он известен:
C++
1
int *array = new int [10];
То возникает вопрос. Почему при введение строки, размер которого превышает размер массива, вся строка вводится в массив, как в вектор?
Скрин:
Инициализация динамического массива
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2014, 10:42     Инициализация динамического массива
Посмотрите здесь:

C++ Инициализация динамического массива
C++ Инициализация массива
Инициализация массива C++
C++ Инициализация Динамического массива
C++ Инициализация двумерного Динамического массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
intern
 Аватар для intern
15 / 15 / 6
Регистрация: 30.03.2014
Сообщений: 67
Завершенные тесты: 1
22.05.2014, 11:18     Инициализация динамического массива #21
Возможно, так будет наглядно (N+1 в циклах for взято в учебных целях):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
 
int main ()
{
    const int N = 10;
    int *array = new int [N];
 
    for (int i=0; i!=N+1; ++i)
    {
        std::cout << "array[" << i << "] = " << array[i] << std::endl;
    }
 
    int a, i=0;
    std::cout << "Enter numbers:" << std::endl;
    while (std::cin >> a)
    {
        if (i>=N)
        {
            break;
        }
        else
        {
           array[i] = a;
           ++i;
        }
    }
 
    for (int i=0; i!=N+1; ++i)
    {
        std::cout << "array[" << i << "] = " << array[i] << std::endl;
    }
 
    delete [] array;
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2014, 10:56     Инициализация динамического массива
Еще ссылки по теме:

Инициализация N-мерного динамического массива C++
C++ Создайте класс динамического массива, в котором реализована проверка выхода за границы массива
Функция с применением динамического массива, чтобы размер массива увеличивался по мере необходимости C++

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

Или воспользуйтесь поиском по форуму:
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 322
24.05.2014, 10:56  [ТС]     Инициализация динамического массива #22
dzrkot, я не дошел до STL библиотек. Пока изучаю асновы. Тут только "намеки" на некоторые библиотеки.
Изучали по порядку:
-Стандартные объекты ввода и ввода.
-Операторы if, while, for
-Введение в классы. Класс Sales_item.(такого класса не существует я так понял это чтобы показать пример)
-Переменные и базовые типы
-Библиотечные типы данных
-Массивы и указатели
-Выражения.
Это пока асновы. Дальше пойдет операторы, функции, библиотеа ввода-вывода. Вторая часть Контейнеры и Алгоритмы, 3-я часть абстракция класы и данные, 4-я часть. Объектно ориентированное и общее программирование.
В книге все разделено так чтоб изучали все когда придет время. Многое что относится к библиотекам вектор, стринг оставили на потом для более подробного изучение когда сможем их понят. (По крайней мере так написано )

Добавлено через 2 минуты
intern, понятненко.
Yandex
Объявления
24.05.2014, 10:56     Инициализация динамического массива
Ответ Создать тему
Опции темы

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