Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Как инициализировать массив строк? - C++
Здравствуйте, подскажите как инициализировать массив строк, кол-во строк неизвестно, они будут загружаться из текстового файла. И как...

Как инициализировать двумерный массив? - C++
подскажите как инициализировать двумерный массив long long int mass;

Как инициализировать массив ссылок? - C++
//--------------------------------------------------------------------------- #include <stdio.h> #include <conio.h> #pragma hdrstop ...

Как инициализировать массив в dll ? - C++
Экспериментирую с dll. Сделал графическую функцию, которая рассчитывает расстояние между точками в цикле. Хочу оптимизировать ее, чтоб...

Как инициализировать массив чисел в С++? - C++
Помогите пожалуйста, проблема следующая: в классе Eleve нужно инициализировать массив чисел (оценки) так, чтобы при создании класса он...

Как инициализировать такой массив - C++
Нужно в проге(консольное приложение Win32) испоьзовать массив таких размеров double massiv_resultatov={0}; просто так я не смог его...

4
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 206
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;
вот так? Оо
0
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,847
02.06.2010, 02:19 #3
Цитата Сообщение от selevit Посмотреть сообщение
мне нужно инициализировать статический массив с помощью переменной, т.е. пользователь вводит количество элементов массива и я задаю массиву это значение.
Если массив статический, то пользователь количество его элементов не введёт (если маргинальные случаи из С99 не рассматривать), в лучшем случае укажет количество элементов уже существующего массива, которые надо заполнить. А так функцию fill из <algorithm> изучите, если Вам на С++...
1
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;
вот так? Оо
этот код на С++ работать не будет, т.к. индексом массива при инициализации должно быть только константное число.
0
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,847
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);
...
1
02.06.2010, 03:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2010, 03:00
Привет! Вот еще темы с ответами:

Можно ли как-то инициализировать массив? - C++
Можно ли как-то инициализировать массив ar? class digit { int a, b; public: digit (int a_, int b_) { a=a_; b=b_; }

Как инициализировать массив в классе - C++
private: static char const figury_={0,4,0,0, 0,1,0,3, 2,1,0,3, 0,2,0,2, 1,2,0,2, ...

Как объявить и инициализировать двумерный массив - C++
Доброго времени суток, уважаемые форумчане! Недавно решил постичь ДЗЕН STL-контейнеров C++ и начал с векторов. С одномерными векторами...

Как инициализировать массив строк в конструкторе - C++
File.h class CTest { public: char* m_pszText; CTest( )


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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