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

Нет инициализации графического режима в BorlandC++ под ДОС - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ А вот что за стеки! http://www.cyberforum.ru/cpp-beginners/thread28426.html
В свое время мне трудно далась тема создания и вывода на печать текстовых файлов. Сейчас вспомнилось и хочу поделиться. int Create_txt_File (char *filname) { FILE *pF; if ((pF=fopen...
C++ Проверка типа int n; std::cin >> n; Как проверить тип введённых данных? Ведь если введено не int, то программа будет работать не так, как мне нужно. http://www.cyberforum.ru/cpp-beginners/thread28396.html
C++ Работа с мышью
Нужна ваша помощь. Незнаю как заставить двигатся курсор мыши только по окружности радиусом r с центром в точке (x,y), работа с мышью осуществляется через процедурку int86, нужен сам алгоритм не...
C++ Парность скобок
Суть заключается в том,чтобы прверить на парность 2 видов скобок(круглых и квадратных) рассмотреть не только случаи ((])),но и например ((())).
C++ Поворот матрицы http://www.cyberforum.ru/cpp-beginners/thread28351.html
Составить программу решения задачи на С + + и Паскаль. Вывод матрицы на экран оформить в виде процедуры. Дано квадратную матрицу. Превратить ее, повернув на 90 (против сторож стрелки относительно...
C++ Матрица с рисунком Вычислить сумму элементов матрицы в заштрихований области. Ввод и вывод матрицы оформить в виде процедур. Вычислить сумму элементов матрицы в заштрихований области. Ввод и вывод матрицы оформить в... подробнее

Показать сообщение отдельно
Anatol_rus
12 / 12 / 2
Регистрация: 23.10.2008
Сообщений: 33

Нет инициализации графического режима в BorlandC++ под ДОС - C++

01.04.2009, 23:15. Просмотров 1225. Ответов 4
Метки (Все метки)

Привет всем,проблема такая после относительно долгих вычислений стараюсь инициализировать графический режим,но он выдает ошибку - Not enough memory to load driver (не хватает памяти для загрузки драйвера),хотя если закоментить эти вычисления все проходит нормально и gdriver возращает 9(вместо - 5).
В чем проблема подскажите плиз smile smile smile
Уже задолбался,ток эта проблема,ниже приведен код(то что закоментированно и есть долгие вычисления):
Код
//**********************************************************************\\
//************************* ОСНОВНАЯ ПРОГРАММА *************************\\
//**********************************************************************\\
void main(void){   // начало основной программы
  clrscr();
//------- Инициализация глобальных переменных и структур ----------------
  init_const();
  char *s = new char [100];
  double gmin,gmax,gstep,Time_Field,Time_Step;
  matrix cof,kd1,dd1,rd1,p,qq,r;    //Матрица коэффициентов
  int i,j;
  double k,tau;
  matrix kd,dd,rd;//╠рЄЁшЎ√ юс•хъЄр ш тэх°эхую тючьє∙хэш    
  matrix T;//- ьрЄЁшЎр тїюфэ√ї ╥,╥1,╥2 ш Є.ф. ъръющ яюЁ фюъ юс•хъЄр.╥.ъ. хёыш яюЁ фюъ сюы№°х 1 ¤Єю сєфхЄ тхъЄюЁ шч 2-ї ¤ыхьхэЄют
//******************* Загрузка параметров из файла *********************\\
  fi=fopen("config.txt","r");
  if (!fi) {get_par_error(str_e1);}
//считываем переменные настроек объекта
h=get_par();
m=get_par();
int minco=(int)get_par();    //╠шэшьры№э√щ шэфхъё ъю¤ЇЇшЎшэхЄют
maxco=(int)get_par();
cof.n=(int)get_par();
int nn = cof.n;
cof.m =(int)get_par();
por_object = (int)get_par();//╧юЁ фюъ эр°хую юс•хъЄр
int ii = -1;
fgets(s,100,fi);
    do{
        fgets(s,100,fi);
        char *p = s;
        int jj=0;
        ii++;
        do{
            cof.data[ii][jj++]=atof(p);
        }while ((p = strchr(p,' ')) || (p = strchr(p,'//'))  , p++);
    }while (ii!=nn-1);
time_change=(int)get_par();
//переменные настройки графика
gmin=get_par();
gmax=get_par();
gstep=get_par();
Time_Field=get_par();
Time_Step=get_par();
CreatePlotFile=get_par();
//переменные имитации входного воздействия и внешнего возм
u_sim=get_par();
uf_sim=get_par();
ufw=get_par();
ufA=get_par();
randuf=get_par();
fclose(fi);
//------------------------------------------------------------------------
//Если разрешено создавать файл данных графика, то открываем его
if (CreatePlotFile)
{
  Plot=fopen("plot.dat","w");
  if (!Plot){
    fclose(Plot);
    fprintf(Pr,"Файл графика не создан!\n");
  }
}
//---------------------------------------------------------------------
iii = minco - 1;
while (iii < maxco) {//─юфхырЄ№ чряюыэхэшх ьрЄЁшЎрьш ъю¤ЇЇшЎшхэЄют
    k=cof.data[0][iii];
  T.n = 1; T.m = por_object + 1;
    T.data[0][0] = 0;//╬сэєы хь яхЁт√щ ¤ыхьхэЄ
    for (j = 0;j < por_object;j++) {
        T.data[0][j + 1] = 1/cof.data[j + 1][iii];
  }
    tau=cof.data[cof.n - 1][iii];
    
    //====================================================================
    //╘юЁьшЁєхь тхъЄюЁр эхяЁхЁ√тэющ ёшёЄхь√ т ЇюЁьх тїюф-т√їюф фы  юс•хъЄр 2-ую яюЁ фър
    //====================================================================
  //p - d - тхъЄюЁ яЁш т√їюфэ√ї яхЁхьхээ√ї фшЇЇхЁ-эюую єЁртэхэш
    PbyRoots(&T,&p);
    
    //qq - k -тхъЄюЁ яЁш  тїюфэ√ї яхЁхьхээ√ї фшЇЇхЁ-эюую єЁртэхэш 
    
    qq.n = 1; qq.m = 1;
    qq.data[0][0] = k;
    //r - тхъЄюЁ яЁш  тэх°эхь тючьє∙хэшш фшЇЇхЁ-эюую єЁртэхэш
    
    r.n=r.m = 1;
    r.data[0][0] = m;
    p = fliplr(p);
    //╧хЁхтюфшь юс•хъЄ шч эхяЁхЁ√тэющ т фшёъЁхЄэє■ ёшёЄхьє
    ToDisk(&p,&qq,&r,h,&dd1,&kd1,&rd1);//Perevod iz
    for (j = 0;j < dd1.m;j++) {
        dd.data[iii][j] = dd1.data[0][j];
        kd.data[iii][j] = kd1.data[0][j];
        rd.data[iii][j] = rd1.data[0][j];
    }
    iii++;
}    
   G_Init();        // Инициализация графического режима
Ну и сам код инициализации:
Код
void G_Init(){
  int gdriver = Detect, gmode, errorcode;
   gmode=0;
   //gdriver=0;
  initgraph(&gdriver, &gmode, "");
  errorcode = graphresult();
  if (errorcode != grOk)
  {
     printf("Graphics error: %s\n", grapherrormsg(errorcode));
     printf("Press any key to halt:");
     getch();
     exit(1);
  }
}
Хочу напомнить что вычисления перед инициализацией граф.режима очень большие и если вставить G_Init(); перед while (iii < maxco) { - то хотя бы появится черный экран хотя от этого не легче((
Кто знает в чем проблема отпишитесь плиз очень буду презнателен)))
Програмлю на BorlandC++ 3.1 for DOS
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru