шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
1

Создание динамического массива

27.09.2011, 10:33. Показов 1212. Ответов 3
Метки нет (Все метки)

C++
1
2
3
const int Num=5; 
const int SIZE=4096 * Num;
SHORT Buf[2][SIZE];
как такое заменить, если Num- инициализируется при загрузке программы, читается из файла.

C++
1
2
3
int Num; 
int SIZE=4096 * Num;
SHORT* Buf = new SHORT[2][SIZE];
тут тоже требуется что бы SIZE был константой.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2011, 10:33
Ответы с готовыми решениями:

Создание динамического массива
Здравствуйте,ребят кто может подсказать как пределать код? что б массивы создавались динамически,...

Создание динамического массива
Первое задание помогите пожалуйста.

Создание динамического массива
Как создать динамически массив размера n если n вводиться с клавиатуры. А еще и двумерный cin>>n...

Создание динамического массива
Добрый день! Хочу выделить память под массив, только после того как буду знать его длину. Длину...

3
Заблокирован
Автор FAQ
27.09.2011, 10:40 2
ht1515, смотри код
C++
1
2
3
4
5
6
7
8
int iRows, iCols;//Понятное дело до выделения памяти нужен их инит
SHORT ** Buf = new SHORT * [iRows];//Память под массив указателей размером iRows
for(int i = 0,j; i < Rows;i++)
{
      Buf[i] = new SHORT[iCols];//Каждому указателю память под вектор размером iCols
      for(j = 0; j < Cols; j++)
              Buf[i][j] = i + j;//От балды инициализирую чтобы показать где инит можно вставить
}
1
шарпопочитатель
59 / 26 / 7
Регистрация: 31.01.2010
Сообщений: 1,035
27.09.2011, 11:14  [ТС] 3
-=ЮрА=-, а Rows и Cols это чего? )

Добавлено через 6 минут
C++
1
2
3
const int Num=5; 
const int SIZE=4096 * Num;
SHORT Buf[2][SIZE];
то есть:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int iRows, iCols;
SHORT ** Buf = new SHORT * [iRows];
 
void InitArr(){
for(int i = 0,j; i < 2;i++)
{
      Buf[i] = new SHORT[iCols];
      for(j = 0; j < iCols; j++) Buf[i][j] = 0;
}
}
 
void main(){
InitArr();
if (!ReadFile(ModuleHandle, Buf[0], sizeof(Buf[0]), NULL,
/*__inout_opt  LPOVERLAPPED lpOverlapped*/) && (GetLastError() != ERROR_IO_PENDING)) return;        
}
а вот такая функция windows

C++
1
2
3
4
5
6
7
BOOL WINAPI ReadFile(
  __in         HANDLE hFile,
  __out        LPVOID lpBuffer,
  __in         DWORD nNumberOfBytesToRead,
  __out_opt    LPDWORD lpNumberOfBytesRead,
  __inout_opt  LPOVERLAPPED lpOverlapped
);
она же по логие одинаково скушать должна и статический и динамический массив же?

Добавлено через 1 минуту
статический она норм съедает. вот такой динамический чем-то отличается с точки зрения с++ чем-то?

Добавлено через 18 минут
и ещё такой вопрос:
C++
1
extern SHORT ** Buf = new SHORT * [2];
имеет место быть? Так пишут?

И ещё удалять массив из памяти так:
C++
1
2
3
4
for (int i=0; i!=SIZE; i++)
delete[] Buf[i];
 
delete Buf;
?
0
Заблокирован
Автор FAQ
27.09.2011, 11:45 4
Цитата Сообщение от ht1515 Посмотреть сообщение
а Rows и Cols это чего?
- необходимое число строк и столбцов, какое требуется такое и вбивай, если массив должен брать инит из файла, тогда столбцы нужно считать по числу цифр в строке ну а iRows - число строк в файле
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2011, 11:45
Помогаю со студенческими работами здесь

Создание динамического массива
Ребята подскажите пожалуйста не давно начал изучать С++ ,решил добавить еще один язык для себя...

Создание динамического массива
Как объявить вот так вот : int blocks = { {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}}; Мне...

Создание динамического массива
Объявите указатель на массив типа double и предложите пользователю выбрать его размер. Далее...

Создание динамического массива
Хотел написать программу, чтобы пользователь мог задать количество элементов в одномерном массиве,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru