Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2013, 18:24   #1
KlIm16
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 37
По умолчанию резевирование памяти

Подскажите,пожалуйста, что не правильно и как это исправить.
Само задание звучит так: нужно чтобы количество элементов n - вводил пользователь, и чтобы масив заполнялся по формуле 5/100+і, а потом выводился.
Код:
    //---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>

#include <tchar.h>
//---------------------------------------------------------------------------

#pragma argsused
main()
{
float n=0;
int i=0;
int *arr;
printf("Vvedit kilkist elementiv masivu:\n");
scanf("%d",&n);

if (n<0) {
printf("ERRoR!!!");
}
else
{
  int *arr=(int*) VirtualAlloc(NULL,n*sizeof(float),MEM_RESERVE,PAGE_READWRITE);
}
VirtualAlloc(&arr[n],sizeof(float),MEM_COMMIT,PAGE_READWRITE);
 for (i = 0; i < n; i+=5) {
 arr[i]=5/100+i;
 printf("dani u pamyati: %d\n",arr[i]);
 }
 VirtualFree (arr,0,MEM_RELEASE);
 getch();
}
//---------------------------------------------------------------------------

Последний раз редактировалось KlIm16; 01.04.2013 в 18:42.
KlIm16 вне форума Ответить с цитированием
Старый 01.04.2013, 22:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
int *arr=(int*) VirtualAlloc(NULL,n*sizeof(float),M EM_RESERVE,PAGE_READWRITE);
Это описание локальной переменки.
Пиши так:
Код:
arr=(int*) VirtualAlloc(NULL,n*sizeof(float),MEM_RESERVE,PAGE_READWRITE);
Ибо arr у тебя описан выше как глобал, и его нужно подхватить.
Цитата:
VirtualAlloc(&arr[n],sizeof(float),MEM_COMMIT,PAGE_READ WRITE);
Не понял зачем второй раз?.

P.S. malloc() уже отменили?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распределение памяти. Динамическое выделение памяти с++ Tolian92 Помощь студентам 8 14.05.2012 21:44
Утечка памяти forivanb Общие вопросы Delphi 4 11.04.2012 15:28
Программа для тестирования памяти, тестирование ячеек памяти Hunter557 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 30.01.2011 19:20
Кольцевая очередь на массиве в статической памяти с элементами в динамической памяти ]tach[ Общие вопросы C/C++ 1 19.01.2011 13:16
Освобождение памяти VadEr Общие вопросы Delphi 2 17.04.2009 22:23