Опубликовано 20 февраля, 200719 г. comment_3553326 Здравствуйте, помогите, пожалуйста, найти ошибку. Присоединяю файл graph.c .в нем указал свой путь к BGI. ║#include <graphics.h> ▲ ║#include <stdlib.h> ■ ║#include <stdio.h> ▒ ║#include <conio.h> ▒ ║#include <math.h> ▒ ║#include "f:\graph.c" ▒ ║double x[100],f[100],xg[101],yg[101],pi=3.14159265, ▒ ║a,b;int n=20; ▒ ║double ff(double x) {return(sin(x));} ▒ ║void main(void) ▒ ║{int i;a=0;b=2*pi; ▒ ║for(i=0;i<=n;i++) f=1e5*ff(x=a+(i+0.0)/n*(b-a)); ▒ ║GRAPH(1,0,0,f,x,n,11,3,"points"); ▒ ║for(i=0;i<=100;i++){xg=a+(i+0.0)/100*(b-a);yg=1e5*ff(xg);} ▒ ║GRAPH(0,0,0,yg,xg,100,10,0,"f(x)"); ▒ ║getch(); closegraph();} ▒ Ошибки ║ Linking ..\..\WORK\TEST_GR.EXE: ▲ ║ Linker Error: Undefined symbol _line in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _outtext in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _moveto in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _textwidth in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _setcolor in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _bar in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _getmaxx in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _getmaxy in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _setfillstyle in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _setviewport in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _cleardevice in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _initgraph in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _detectgraph in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _ellipse in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _circle in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _lineto in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _outtextxy in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _settextstyle in module ..\..\WORK\TEST_GR.C ▒ ║ Linker Error: Undefined symbol _setlinestyle in module ..\..\WORK\TEST_GR.C ■ ║•Linker Error: Undefined symbol _closegraph in module ..\..\WORK\TEST_GR.C ▼ часть файла graph.c ║s - add-on text to line (no more than 6 symbols); ▲ ║*/ ▒ ║ ▒ ║{int m,p,i,j; double a,hst; char tnum[40]; ▒ ║static int kl,kr,kt,kb,kf,k0,kbf,kx,ky,nz=5,p0,r=0; ▒ ║static double xma,xmi,yma,ymi,z; ■ ║if(init){xma=-1e20;xmi=1e20; ▒ ║for(i=0;i<=n;i++) {if(x<xmi) xmi=x;if(x>xma) ▒ ║xma=x;} yma=-1e20;ymi=1e20; ▒ ║if(!(Ymin==0&&Ymax==0)){ymi=Ymin;yma=Ymax;}else ▒ ║{for(i=0;i<=n;i++) {if(y<ymi) ymi=y;if(y>yma) ▒ ║yma=y;} a=fabs(yma-ymi);yma=yma+0.1*a;ymi=ymi-0.1*a;} ▒ ║ ▒ ║/* description of graphic location */ ▒ ║if(r==0){ detectgraph( &m, &p );if ( m==VGA ) { m=EGA; p=EGAHI; }; ▒ ║initgraph( &m, &p, "\c:\\BC31\\BGI");} cleardevice(); ▒ ║/* */ ▒ ║ ▒ ║ kl=60; kt=40;kr=getmaxx()-40; kb=getmaxy()-40; kx=kr-kl;ky=kb-kt; ▒ ║setviewport(2,getmaxx()-2,2,getmaxy()-2,0); ▒ ║ setfillstyle ( SOLID_FILL, BLACK );bar(2,2,getmaxx()-2,getmaxy()-2); ▼ Жалоба
Опубликовано 20 февраля, 200719 г. comment_3553349 В опциях линкера есть пункт "подключить" графическую библиотеку. Включите, должно помочь. Жалоба
Опубликовано 20 февраля, 200719 г. Автор comment_3553463 Выходит в windows с ошибкой. Откуда лучше заходить? Жалоба
Опубликовано 20 февраля, 200719 г. comment_3553476 QUOTE (Guest_1 @ Feb 20 2007, 21:46) Выходит в windows с ошибкой. Откуда лучше заходить? Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды. Жалоба
Опубликовано 20 февраля, 200719 г. Автор comment_3553644 QUOTE (HiOr @ Feb 20 2007, 21:49) QUOTE (Guest_1 @ Feb 20 2007, 21:46) Выходит в windows с ошибкой. Откуда лучше заходить? Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды. А как через Visual Studio? Жалоба
Опубликовано 20 февраля, 200719 г. comment_3553660 QUOTE (Guest_1 @ Feb 20 2007, 22:16) QUOTE (HiOr @ Feb 20 2007, 21:49) QUOTE (Guest_1 @ Feb 20 2007, 21:46) Выходит в windows с ошибкой. Откуда лучше заходить? Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды. А как через Visual Studio? Пишите под VS Жалоба
Опубликовано 20 февраля, 200719 г. Автор comment_3553755 QUOTE (HiOr @ Feb 20 2007, 22:19) QUOTE (Guest_1 @ Feb 20 2007, 22:16) QUOTE (HiOr @ Feb 20 2007, 21:49) QUOTE (Guest_1 @ Feb 20 2007, 21:46) Выходит в windows с ошибкой. Откуда лучше заходить? Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды. А как через Visual Studio? Пишите под VS Нет. Просто кажется, осталась проблема, как запустить BC ,чтоб при запуске программы не вылетало в винду. Жалоба
Опубликовано 20 февраля, 200719 г. comment_3553774 QUOTE (Guest_1 @ Feb 20 2007, 22:31) QUOTE (HiOr @ Feb 20 2007, 22:19) QUOTE (Guest_1 @ Feb 20 2007, 22:16) QUOTE (HiOr @ Feb 20 2007, 21:49) QUOTE (Guest_1 @ Feb 20 2007, 21:46) Выходит в windows с ошибкой. Откуда лучше заходить? Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды. А как через Visual Studio? Пишите под VS Нет. Просто кажется, осталась проблема, как запустить BC ,чтоб при запуске программы не вылетало в винду. Свойства "режим совместимости" попробуйте использовать Жалоба
Опубликовано 21 февраля, 200719 г. Автор comment_3559888 QUOTE (HiOr @ Feb 20 2007, 22:34) QUOTE (Guest_1 @ Feb 20 2007, 22:31) QUOTE (HiOr @ Feb 20 2007, 22:19) QUOTE (Guest_1 @ Feb 20 2007, 22:16) QUOTE (HiOr @ Feb 20 2007, 21:49) QUOTE (Guest_1 @ Feb 20 2007, 21:46) Выходит в windows с ошибкой. Откуда лучше заходить? Через Visual Studio. Не лучшая идея юзать bc 3.1 из под винды. А как через Visual Studio? Пишите под VS Нет. Просто кажется, осталась проблема, как запустить BC ,чтоб при запуске программы не вылетало в винду. Свойства "режим совместимости" попробуйте использовать Нет, когда я запускаю программу <Ctrl>+<F9> вылетает. Причем обычная пустая программа не вылетает. А данная программа вылетает с сообщением 16-разрядная система MS-DOS/ Изменено 21 февраля, 200719 г. пользователем Гость Жалоба
Опубликовано 22 февраля, 200719 г. comment_3562786 QUOTE (Guest_1 @ Feb 21 2007, 23:43) Нет, когда я запускаю программу <Ctrl>+<F9> вылетает. Причем обычная пустая программа не вылетает. А данная программа вылетает с сообщением 16-разрядная система MS-DOS Скорее всего проблемы с использованием динамической памяти в самой программе. Или за границы массива вылезли. Изменено 22 февраля, 200719 г. пользователем Гость Жалоба
Опубликовано 22 февраля, 200719 г. Автор comment_3564996 QUOTE (HiOr @ Feb 22 2007, 16:45) QUOTE (Guest_1 @ Feb 21 2007, 23:43) Нет, когда я запускаю программу <Ctrl>+<F9> вылетает. Причем обычная пустая программа не вылетает. А данная программа вылетает с сообщением 16-разрядная система MS-DOS Скорее всего проблемы с использованием динамической памяти в самой программе. Или за границы массива вылезли. С этим проблем не может быть. Дело в том, что в терминалке универа она работает. Ну там сделан вход в bc так: входишь в папку temp на диске, набираешь bc, потом enter. Может это с этим связано? Попробовал через DOSBOX. Вылетает. Только без каких либо сообщений. Ну, так что делать-то, подскажите кто-нибудь? Изменено 4 марта, 200719 г. пользователем Гость Жалоба
Здравствуйте, помогите, пожалуйста, найти ошибку.
Присоединяю файл graph.c .в нем указал свой путь к BGI.
║#include <graphics.h> ▲
║#include <stdlib.h> ■
║#include <stdio.h> ▒
║#include <conio.h> ▒
║#include <math.h> ▒
║#include "f:\graph.c" ▒
║double x[100],f[100],xg[101],yg[101],pi=3.14159265, ▒
║a,b;int n=20; ▒
║double ff(double x) {return(sin(x));} ▒
║void main(void) ▒
║{int i;a=0;b=2*pi; ▒
║for(i=0;i<=n;i++) f=1e5*ff(x=a+(i+0.0)/n*(b-a)); ▒
║GRAPH(1,0,0,f,x,n,11,3,"points"); ▒
║for(i=0;i<=100;i++){xg=a+(i+0.0)/100*(b-a);yg=1e5*ff(xg);} ▒
║GRAPH(0,0,0,yg,xg,100,10,0,"f(x)"); ▒
║getch(); closegraph();} ▒
Ошибки
║ Linking ..\..\WORK\TEST_GR.EXE: ▲
║ Linker Error: Undefined symbol _line in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _outtext in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _moveto in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _textwidth in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _setcolor in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _bar in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _getmaxx in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _getmaxy in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _setfillstyle in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _setviewport in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _cleardevice in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _initgraph in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _detectgraph in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _ellipse in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _circle in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _lineto in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _outtextxy in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _settextstyle in module ..\..\WORK\TEST_GR.C ▒
║ Linker Error: Undefined symbol _setlinestyle in module ..\..\WORK\TEST_GR.C ■
║•Linker Error: Undefined symbol _closegraph in module ..\..\WORK\TEST_GR.C ▼
часть файла graph.c
║s - add-on text to line (no more than 6 symbols); ▲
║*/ ▒
║ ▒
║{int m,p,i,j; double a,hst; char tnum[40]; ▒
║static int kl,kr,kt,kb,kf,k0,kbf,kx,ky,nz=5,p0,r=0; ▒
║static double xma,xmi,yma,ymi,z; ■
║if(init){xma=-1e20;xmi=1e20; ▒
║for(i=0;i<=n;i++) {if(x<xmi) xmi=x;if(x>xma) ▒
║xma=x;} yma=-1e20;ymi=1e20; ▒
║if(!(Ymin==0&&Ymax==0)){ymi=Ymin;yma=Ymax;}else ▒
║{for(i=0;i<=n;i++) {if(y<ymi) ymi=y;if(y>yma) ▒
║yma=y;} a=fabs(yma-ymi);yma=yma+0.1*a;ymi=ymi-0.1*a;} ▒
║ ▒
║/* description of graphic location */ ▒
║if(r==0){ detectgraph( &m, &p );if ( m==VGA ) { m=EGA; p=EGAHI; }; ▒
║initgraph( &m, &p, "\c:\\BC31\\BGI");} cleardevice(); ▒
║/* */ ▒
║ ▒
║ kl=60; kt=40;kr=getmaxx()-40; kb=getmaxy()-40; kx=kr-kl;ky=kb-kt; ▒
║setviewport(2,getmaxx()-2,2,getmaxy()-2,0); ▒
║ setfillstyle ( SOLID_FILL, BLACK );bar(2,2,getmaxx()-2,getmaxy()-2); ▼