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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
#1

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

02.06.2010, 02:07. Просмотров 1924. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток! у меня возникла проблема, мне нужно инициализировать статический массив с помощью переменной, т.е. пользователь вводит количество элементов массива и я задаю массиву это значение. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2010, 02:07     Как инициализировать массив переменной
Посмотрите здесь:

Как инициализировать массив чисел в С++? C++
Как инициализировать двумерный массив? C++
Как инициализировать такой массив C++
C++ Как инициализировать массив строк?
Можно ли как-то инициализировать массив? C++
C++ Как обьявить и инициализировать массив константных значений?
C++ Как инициализировать массив строк в конструкторе
C++ Как объявить указатель на массив через typedef и как инициализировать такой тип
Как инициализировать массив в классе C++
C++ Как объявить и инициализировать двумерный массив
Как инициализировать массив в dll ? C++
C++ Как инициализировать массив ссылок?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
02.06.2010, 02:09     Как инициализировать массив переменной #2
C
1
2
3
4
int n,i;
cin>>n;
int mas[n];
for(i=0;i<n;i++) mas[i]=n;
вот так? Оо
easybudda
Эксперт С++
9453 / 5466 / 926
Регистрация: 25.07.2009
Сообщений: 10,490
02.06.2010, 02:19     Как инициализировать массив переменной #3
Цитата Сообщение от selevit Посмотреть сообщение
мне нужно инициализировать статический массив с помощью переменной, т.е. пользователь вводит количество элементов массива и я задаю массиву это значение.
Если массив статический, то пользователь количество его элементов не введёт (если маргинальные случаи из С99 не рассматривать), в лучшем случае укажет количество элементов уже существующего массива, которые надо заполнить. А так функцию fill из <algorithm> изучите, если Вам на С++...
selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
02.06.2010, 02:46  [ТС]     Как инициализировать массив переменной #4
Цитата Сообщение от easybudda Посмотреть сообщение
в лучшем случае укажет количество элементов уже существующего массива, которые надо заполнить..
т.е. инициализировать массив можно произвольным индексом, который должен быть больше, чем введет пользователь?

Цитата Сообщение от so1o Посмотреть сообщение
C
1
2
3
4
int n,i;
cin>>n;
int mas[n];
for(i=0;i<n;i++) mas[i]=n;
вот так? Оо
этот код на С++ работать не будет, т.к. индексом массива при инициализации должно быть только константное число.
easybudda
Эксперт С++
9453 / 5466 / 926
Регистрация: 25.07.2009
Сообщений: 10,490
02.06.2010, 03:00     Как инициализировать массив переменной #5
Цитата Сообщение от selevit Посмотреть сообщение
т.е. инициализировать массив можно произвольным индексом, который должен быть больше, чем введет пользователь?
Ну при таком подходе да, вернее элементов должно быть не меньше, чем укажет пользователь. Но что мешает вот так сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
...
int * arr, cnt, val;
cout << "Count of elements: ";
cin >> cnt;
arr = new int [ cnt ];
cout << "Value for elements: ";
cin >> val;
fill_n(arr, cnt, val);
...
delete [] arr;
а ещё проще
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <vector>
...
int cnt, val;
cout << "Count of elements: ";
cin >> cnt;
cout << "Value for elements: ";
cin >> val;
vector<int> vec(cnt, val);
...
Yandex
Объявления
02.06.2010, 03:00     Как инициализировать массив переменной
Ответ Создать тему
Опции темы

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