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

Объявления массива. - C++

Восстановить пароль Регистрация
 
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 15:47     Объявления массива. #1
Как увеличить количество переменных в массиве?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2011, 15:47     Объявления массива.
Посмотрите здесь:

C++ rand + ошибки объявления массива
C++ объявления
C++ Объявления классов
Инициализация массива после объявления C++
C++ Особенность объявления функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 15:50     Объявления массива. #2
пересоздать массив с большим количеством элементов предварительно скопировав содержимое старого/ использовать вектор ?
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 15:53  [ТС]     Объявления массива. #3
Есть число i оно будет постепенно увеличиваться и мне надо увеличивать размер массива.
C++
1
2
3
4
if (...) {
s[i]=...
i=i+1;
  }
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
07.07.2011, 15:54     Объявления массива. #4
значения или размер?
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 15:56  [ТС]     Объявления массива. #5
Размер
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 15:58     Объявления массива. #6
вектор !

Добавлено через 1 минуту
выложи код где тебе нужно увеличивать массив ?
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 15:58  [ТС]     Объявления массива. #7
m1Rr0r можежь пример показать
C++
1
2
3
4
if (...) {
s[i]=...
i=i+1;
  }
Проблема в том что я не знаю какой будет размер массива.
А если я напишу int s[10]; то вылезет ошибка если i привысит 10.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 16:04     Объявления массива. #8
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
#include <iostream>
#include <conio.h>
#include <vector>
using namespace std;
 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Russian");
    vector <int> massiv;
    int a=0;
    char key=0;
    do{
        system("cls");
        cout<<"Для выходы ESC.\n";
        cout<<"размер массива-> "<<massiv.size()<<endl;
        massiv.push_back(a);//типа увеличили на 1 ))
        key = getch();
    }while(key!=27);
    for(int i=0;i<massiv.size();i++)
    {
        cout<<massiv.at(i)<<" ";
    }
    return 0;
}
используй динамический, посчитай размер какой нужен, а потом создай... чет я недопонимаю )
вот те пример с вектором
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 16:10  [ТС]     Объявления массива. #9
Пользователю предлагается ввести любые имена которые он хочет.
Он вводит имя, программа спрашивает ввести еще он говорит да ....
Проблема в том, что я не знаю сколько пользователь введет имен и поэтому не знаю какой массив создавать.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
07.07.2011, 16:13     Объявления массива. #10
вектор по моему идеально подходит.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,692
07.07.2011, 16:14     Объявления массива. #11
Вам уже сказали, используйте контейнеры из STL, к примеру - вектор, http://www.cplusplus.com/reference/stl/vector/
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 16:15  [ТС]     Объявления массива. #12
Буду разбираться спасибо m1Rr0r !!
neske буду изучать
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
07.07.2011, 16:19     Объявления массива. #13
Цитата Сообщение от m1Rr0r Посмотреть сообщение
for(int i=0;i<massiv.size();i++)
Цитата Сообщение от m1Rr0r Посмотреть сообщение
cout<<massiv.at(i)<<" "
один ньюанс.
at() генерирует Out_of_range, а при таком условие в цикле оно никогда не будет сгенерированно, поэтому operator[] эффективнее в данном случае
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2011, 16:35     Объявления массива.
Еще ссылки по теме:

C++ Функция объявления двумерного массива
Ошибки объявления C++
C++ Объяснить строку объявления массива

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

Или воспользуйтесь поиском по форуму:
nikitapel
 Аватар для nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 16:35  [ТС]     Объявления массива. #14
Ура все получилось m1Rr0r большое тебе спасибо .
Yandex
Объявления
07.07.2011, 16:35     Объявления массива.
Ответ Создать тему
Опции темы

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