Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / непостоянные массивы / 9 сообщений из 9, страница 1 из 1
01.03.2013, 22:45
    #38171671
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
нужно ввести количество элементов массива и заполнить его случайными числами. делаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
#pragma hdrstop
#include <conio.h>
#include <iostream.h>
#include <vcl.h>
#include <stdlib.h>
#include <stdio.h>
#pragma argsused
int main(int argc, char* argv[])
{int n;
int i;
extern int mass[];
randomize();
cout <<"Vvedite koli4estvo elementov:\n";
cin >>n;
int mass[n];//constant expression
for(i=0; i<n; ++i)
mass[i]=rand()%201-100;
for(i=0; i<n; ++i)
if (mass[i]%2==0) cout <<mass[i]<<"\n";
getch();
        return 0;
}

прочитал, что колличество элементов массива нужно объявлять заранее. как же тогда во время работы проги создать массив с произвольным количеством членов?
...
Рейтинг: 0 / 0
01.03.2013, 23:28
    #38171699
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Читай учебник про динамические массивы или используй класс типа vector.
...
Рейтинг: 0 / 0
05.03.2013, 10:19
    #38174205
Wulff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Qlewer,

Где ж милок тебя учили код оформлять? Ты его сам то прочитать сможешь?
А по сути, используй векторы, да будет счастье тебе!
Например в Qt есть много дин. массивов, типа QVector, QList, QHash и т.д.
...
Рейтинг: 0 / 0
05.03.2013, 22:55
    #38175287
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Wulff,

WulffГде ж милок тебя учили код оформлять? Ты его сам то прочитать сможешь? оформление по стандартам С++. могу WulffА по сути, используй векторы мне нужен обычный массив, который я буду заполнять неизвестным до запуска проги количеством элементов. что тут сложного? в vb6 большинство моих программ построено на этом(на коллекциях, правда, но одна хрень). мне просто нужен образец из пары строчек кода, чтобы понять синтаксис динамических массивов в С++
...
Рейтинг: 0 / 0
05.03.2013, 23:12
    #38175296
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Qlewer,

Код: plaintext
1.
2.
std::vector<int> array(n);
for(int i=0; i<n; ++i) array[i] = rand()%201-100;

Этой пары достаточно?
std::vector .
...
Рейтинг: 0 / 0
05.03.2013, 23:42
    #38175306
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Abstraction,

да, спасибо. поначалу никакого эффекта не было, спасла строчка #include<vector>
не помню, чтобы в VB6 требовалось подобное включение массивов или коллекций, только объявление.
до сих режет глаза структура кода на С++
...
Рейтинг: 0 / 0
05.03.2013, 23:47
    #38175310
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Qlewer,

авторне помню, чтобы в VB6 требовалось подобное включение массивов или коллекций, только объявление.Будете использовать менее "стандартные" классы - в VB6 потребуется подключать сборки (references). В C++ просто принято, что "по умолчанию" не включено ничего (вообще, базовый принцип - не делать ничего сверх приказанного программистом, в отличие от .NET-языков). Если хотите, сделайте один заголовочный файл, состоящий из вагона #include <something> и включайте только его.
...
Рейтинг: 0 / 0
06.03.2013, 16:35
    #38176284
Qlewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Abstraction,

понятно, ещё раз спасибо
...
Рейтинг: 0 / 0
06.03.2013, 17:10
    #38176368
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
непостоянные массивы
Qlewerпрочитал, что колличество элементов массива нужно объявлять заранее. как же тогда во время работы проги создать массив с произвольным количеством членов?
С/C++, как язык близкий к системному программированию не предполагает
таких абстракций.

Но ты можешь заранее выделить некий бутстраповый массив (к примеру на 100к)
и как только он заполниться то расширить его используя realloc.

Или используя библиотеку шаблонов С++STL использовать шаблон vector
или ему подобные.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / непостоянные массивы / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]