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

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

Войти
Регистрация
Восстановить пароль
 
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
#1

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

07.07.2011, 15:47. Просмотров 574. Ответов 13
Метки нет (Все метки)

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

Инициализация массива после объявления - C++
Привет народ, нужна ваша помощь. Допустим у меня есть класс с закрытым полем-массивом: //someClass.h class someClass{ int arr;...

Функция объявления двумерного массива - C++
Данный код - объявляет двумерный массив arr. Как из этого куска кода сделать функцию? Передаваемые параметры как мне кажется n и m, а...

rand + ошибки объявления массива - C++
Здравствуйте. У меня такое задание: Используя датчик случайных чисел, заполнить элементы массива неповторяющимися числами. Вот мой код....

Объяснить строку объявления массива - C++
Ньюанс int* array = new int; на С/C++ Пришлость мне недавно C# код в почти голый C(C++) переписывать. Как-то прощелкал и след....

объявления - C++
в чем отличие такого определения float var = 1.f; от такого float var = 1.0f;

Объявления классов - C++
Класс может быть объявлен так: class MyClass { ... }; а может быть объявлен и так typedef class

Ошибки объявления - C++
Stack.h #pragma once class Stack { public: void push (StackPtr *,int); int pop(StackPtr*); int isEmpty(StackPtr);

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
07.07.2011, 15:50     Объявления массива. #2
пересоздать массив с большим количеством элементов предварительно скопировав содержимое старого/ использовать вектор ?
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
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
07.07.2011, 15:54     Объявления массива. #4
значения или размер?
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 15:56  [ТС]     Объявления массива. #5
Размер
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
07.07.2011, 15:58     Объявления массива. #6
вектор !

Добавлено через 1 минуту
выложи код где тебе нужно увеличивать массив ?
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
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 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
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 16:10  [ТС]     Объявления массива. #9
Пользователю предлагается ввести любые имена которые он хочет.
Он вводит имя, программа спрашивает ввести еще он говорит да ....
Проблема в том, что я не знаю сколько пользователь введет имен и поэтому не знаю какой массив создавать.
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
07.07.2011, 16:13     Объявления массива. #10
вектор по моему идеально подходит.
neske
1479 / 846 / 75
Регистрация: 26.03.2010
Сообщений: 2,902
07.07.2011, 16:14     Объявления массива. #11
Вам уже сказали, используйте контейнеры из STL, к примеру - вектор, http://www.cplusplus.com/reference/stl/vector/
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
07.07.2011, 16:15  [ТС]     Объявления массива. #12
Буду разбираться спасибо m1Rr0r !!
neske буду изучать
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++
народ, я хочу чтобы в моём файле .cpp, после инклюдов в алфавитном порядке и до main(), шли различные функции в алфавитном порядке.. но при...

Что за объявления переменных? - C++
День добрый! Скачал библиотеку, а там в объявлении класса: private: double(*d_y)(double); и соответственно в...

Особенность объявления функции - C++
Собсно вопрос такой , зачем нужно объявлять функции если их можно просто определять? связано ли это с компилятором?

Вылетает из-за объявления указателя - C++
Unhandled exception at 0x010C3A8D in game_1.exe: 0xC0000005: Access violation reading location 0xCDCDCDCD. Source.cpp: ...

Правила объявления инициализации - C++
Напишите основные - самые главные правила обьявления инициализации.


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

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

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