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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nekitko
Сообщений: n/a
#1

Динамический массив - C++

01.06.2013, 22:21. Просмотров 263. Ответов 1
Метки нет (Все метки)

Доброе время суток) Я почти полный нуб , поэтому сразу прошу прощения Я хочу создать такой массив, размер которого увеличивается с каждым полученным значением. Вот такой код, который вообще то должен 1) запоминать значения пока не получит значение "0" 2) вывести массив на экран
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main ()
{
    int n;
    int *mas = new int [n];
    n = 1;
    for (int i = 0; i<n; i++)       
    {
        if (n !=0) {
        cin >> mas [i]; n++;} else {cin >> mas [i]; break;}
    }
    for  (int i =0; i<n; i++) 
    {
        cout << mas[i] << "  ";
    }
    return 0;
}
Но на выходе получаем runtime error. Возможно, все, что на верху бред. Или ошибка. Но мне хотелось узнать как написать код, выполняющий описанный алгоритм. Please
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2013, 22:21     Динамический массив
Посмотрите здесь:

Динамический массив - C++
Используя указатели на тип для объявления массивов, определить количество столбцов в матрице, не содержащих ни одного нулевого элемента.

Динамический массив - C++
Всем привет. Помогите пожалуйста решить проблему с динамическим массивом. Есть динамический массив структур, в него нужно добавлять...

Динамический массив - C++
Заполнить массив следующим образом: матрица n(n+1) 1 1 1 1 ... 1 1 1...

Динамический массив - C++
Можно ли переобъявить динамический массив так, чтоб он сохранил то, что уже есть внутри? Например массив из 2-ух элементов, а надо добавить...

Динамический массив - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; int main() { int m,n,i,j,s; double **umas2,*b; cout&lt;&lt;&quot;n=&quot;; cin&gt;&gt;n; ...

Динамический массив - C++
Доброго времени суток! Помогите пожалуста. Нужно чтобы вместо else a=0; в 27 строке было удаления елемента... #include &lt;iostream&gt; ...

Динамический массив - C++
Здравствуйте, мне необходимо создать массив, который будет в течение работы программы в размерах уменьшаться или увеличиваться. Как это...

Динамический массив - C++
Надо: Сформировать массив строк, добавить в него строку с заданным номером. Не знаю,как добавить в него строку с заданным номером. ...

динамический массив - C++
Как записать и сравнить данные в динамическом массиве с неопределенным количеством элементов

Динамический массив - C++
Добрый день! Подскажите, как сделать, чтобы массив выводился как матрица, а не строчкой? Где закралась ошибка? #include &lt;iostream&gt; ...

Динамический массив - C++
#include &lt;stdio.h&gt; int main() { int *arr = new int; printf(&quot;\n Input:\n\n&quot;); for (int i = 0; i &lt; 5; ++i) ...

динамический массив - C++
Помогите пожалуйста)Порядок выполнения лабораторной работы Вывести приглашение пользователю на ввод размерностей матри-цы. Выделить...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.06.2013, 10:44     Динамический массив #2
nekitko, можно просто использовать std::vector. Но если хочется реализовать самому, то поищите "массив переменной длины".
По Вашему коду:
1. В 6 строке Вы выделяете память для n элементов. Но только вот само число n не инициализировано, поэтому уже ошибка.
2. Условие в цикле (строка 10) нелепое, т.к. если Вы попали в цикл, то n уже больше 0, к тому же Вы его изменили на 1 в 7 строке (что тоже не понятно зачем сделано).
3. Сам цикл будет бесконечным (или пока n не переполнится), т.к. идет инкремент i, и n, т.е. условие продолжения цикла будет такое ( i < i+1 ), что всегда истинно.
4. Вывод 13-16 строки был бы нормальным, если бы Вы не изменили n, и не зациклились в предыдущем цикле.
Yandex
Объявления
02.06.2013, 10:44     Динамический массив
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru