Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как нарисовать график функции? 
:(
    Опции темы
o.s.a.
Дата 11.11.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Мне нужен лишь маленький кусочек кода, который нарисует мне 1 точку,
а как дальше нарисовать график я уже разберусь.

З.Ы. пж приведите пример кода со всеми требуемыми инклудами


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Void
Дата 11.11.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Сильно зависит от используемой среды и/или библиотеки.

Ты лучше скажи, зачем это тебе нужно и на чем собираешься делать (Visual C++, C++ Builder, какой-нибудь древний BC3.1) smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
welt
Дата 11.11.2005, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 21.5.2005
Где: UnderGround

Репутация: нет
Всего: нет



Вот, рисует y=x^2
Извини, что паскаль
Код

uses
  Graph,crt;
label 3;
var
  x,y,xd,yd:real;
  a,b:integer;
  m:integer;
begin

a:=Vga;
b:=   VgaHi;
initgraph(a, b, 'd:\pascal7\bin');
setbkcolor(15);
setcolor(7);
Line(10,240,630,240);
moveto(620,235);
lineto(630,240);
lineto(620,245);
Line(320,10,320,460);
moveto(325,20);
lineto(320,10);
lineto(315,20);
OutTextXY(620,250,'X');
OutTextXY(330,15,'Y');
x:=-100;{esli oshibka, to sdelat' -100000}
setcolor(2);
repeat
moveto(round(xd),round(yd));
x:=x+00000000.1;
y:=x*x;       {------FUNCTION-------}
xd:=x*25+320;    {25-masshtab}
yd:=-y*25+240;   {25-masshtab}
if (yd>0) and (yd<490) then begin putpixel(round(xd), round(yd),4);
lineto(round(xd),round(yd)) end;
until x>100; {esli oshibka, to sdelat' 100000}
readln;
end.


Добавлено @ 23:04
Попробуй еще вот это. Лишнее удали. Но принцип построения все же лучше смотри в первом примере
Код

#include< graphics.h>
#include< conio.h>
#include< math.h>
#include< stdio.h>
#include< stdlib.h> 
const k=30,a=320,b=340;
float xmin=-6., xmax=10., ymin=-6., ymax=6.,ky, kx,xc1,xc2,x0,y0;
void Axes()//рисует оси координат
 {
   int xst, yst, x, y, x0, y0;
   char s[10];
   setcolor(RED);
   kx=640/(xmax-xmin);
   ky=480/(ymax-ymin);
   line(a,0,a,479);
   line(0,b,639,b);
   xst=(int) xmin;
   if(xst//   float F1(float x)
   // { //if(x!=2)
 //     return 4/(2-x);
//      }
void ShowPoint(float x,float y,int c)//строет графики по точкам

  {
    int x0,y0;
    x0=a+kx*x;
    y0=b-ky*y;
    if(x0> =0 && x0< 640 && y0> =0 && y0< 480 )
                           // x20> =0 && x20< 640 && y20> =0 && y20< 480)
    putpixel(x0,y0,c);

  }
   float F1(float x)
    { //if(x!=2)
    return 4/(2-x);
     }
  void PlotF1()
    {
      float xmin,xmax,x,y;
      xmin=-a/kx;
      xmax=(640-a)/ky;

      for(x=xmin;x< =xmax;x+=1/kx)
    {
    if(fabs(2-x)> 0.0001)
    {
      y=F1(x);
      ShowPoint(x,y,5);
     }

     }
 }


     float F2(float x)
    {
    //  if(x> 4||x< -4)
      return sqrt(1-x*x/16)*2+3;
     }


    float F3(float x)
    {
    //  if(x> 4||x< -4)
      return -sqrt(1-x*x/16)*2+3;
     }



  void PlotF2()
    {
      float xmin,xmax,x,y;
      xmin=-a/kx;
      xmax=(640-a)/ky;
      for(x=xmin;x< =xmax;x+=1/kx)
    {
    if(fabs(4*(1-x*x/16)> 0.0001))
    {
      y=F2(x);
      ShowPoint(x,y,15);
    }

    }
  }
   void PlotF3()
    { float xmin,xmax,x,y;
      xmin=-a/kx;
      xmax=(640-a)/ky;

     for(x=xmin;x< =xmax;x+=1/kx)
      {
        if(fabs(4*(1-x*x/16)> 0.0001))
        {
          y=F3(x);
          ShowPoint(x,y,15);
        }
       }
    }
float SolveGood(float a,float b,float e)
{
float c,ga, gc;
   while(fabs(b-a)> e)
   { c=(a+b)/2.;
     ga=F1(a)-F2(a);
     gc=F1(c)-F2(c);
     if(ga*gc< 0)b=c;
     else       a=c;
   }
return(a+b)/2.;
}
void Cross()
{ char s[40];
xc2=SolveGood(0,3,0.0001);
sprintf(s,"x=%f,y=%f",xc2,F2(xc2));
outtextxy(20,20,s);
}

float SolveGood2(float a,float b,float e)
{
float c,ga, gc;
   while(fabs(b-a)> e)
   { c=(a+b)/2.;
     ga=F1(a)-F3(a);
     gc=F1(c)-F3(c);
     if(ga*gc< 0)b=c;
     else       a=c;
   }
return(a+b)/2.;
}

void Cross2()
{ char s[40];
xc1=SolveGood2(-3,0,0.0001);
sprintf(s,"x=%f,y=%f",xc1,F3(xc1));
outtextxy(20,50,s);
}

float up(float x)
{float x2=1.18;
 if(x< x2)return F1(x);
 else    return F2(x);
}

float down(float x)
{float x3=4.;
 if(x< =x3)return F3(x);
// else    return F4(x);
 else return 0;
}
void Hatch()
{
float x,yup,ydown,h,x1=-1.5,x3=4;
int N=10,x0,y0,y10,y20;
h=(x3-x1)/(N+1);
for(x=x1;x< =x3;x+=h)
 { yup=up(x);
   ydown=down(x);
   x0=a+kx*x;
   y10=b-ky*yup;
   y20=b-ky*ydown;
   line(x0,y10,x0,y20);
  }
}

void Area()
{ float x1=-1.494,x2=1.185,x3=4.,x,h=0.01,S1=0,S2=0,S=0;
  for(x=x1;x< x2;x+=h)
    S1+=h*(F1(x+h/2)-F3(x+h/2));
  for(x=x2;x< x3;x+=h)
    S2+=h*(F2(x+h/2)-F3(x+h/2));
  S=S1+S2;
  printf("Area of hatched part of input figure is about %f \n",S);
}

  float Randf(float min,float max)
{ return min+(max-min)*rand()/RAND_MAX; }

  int Inside(float x,float y)
{ if(y< =up(x) && y> =down(x))
 return 1;
 else return 0;
}
  void Area2()
{ float xmin=-1.494,ymin=1.144,xmax=4,ymax=4.91;
long N=2000000L,i,M=0;
//int i;
float S,x,y;
for(i=1;i< =N;i++)
 { x=Randf(xmin,xmax);
   y=Randf(ymin,ymax);
   if(Inside(x,y)) M++;
 }
S=(xmax-xmin)*(ymax-ymin)*M/N;
printf("Area-2 is about %f",S);
}


void main()
{
  int d=DETECT,m;
  initgraph(& d,& m,"C:\\BORLANDC\\BGI");
  Axes();
  PlotF1();
  PlotF2();
  PlotF3();
  Cross();
  Cross2();
  Hatch();
  Area();
  Area2();
  getch();
  closegraph();
}


PM MAIL   Вверх
welt
Дата 11.11.2005, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 21.5.2005
Где: UnderGround

Репутация: нет
Всего: нет



Вот еще.

Код

#include <vcl.h> 
#pragma hdrstop 

#include "Unit1.h" 
//--------------------------------------------------------------------------- 
#pragma package(smart_init) 
#pragma resource "*.dfm" 
TForm1 *Form1; 
//--------------------------------------------------------------------------- 
__fastcall TForm1::TForm1(TComponent* Owner) 
: TForm(Owner) 


//--------------------------------------------------------------------------- 

BOOL bSetupPixelFormat(HDC hdc) 

PIXELFORMATDESCRIPTOR pfd, *ppfd; 
int pixelformat; 

ppfd = &pfd; 

ppfd->nSize = sizeof(PIXELFORMATDESCRIPTOR); 
ppfd->nVersion = 1; 
ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; 
ppfd->dwLayerMask = PFD_MAIN_PLANE; 
ppfd->iPixelType = PFD_TYPE_RGBA; 
ppfd->cColorBits = 16; 
ppfd->cDepthBits = 16; 

ppfd->cAccumBits = 0; 
ppfd->cStencilBits = 0; 

if ((pixelformat = ChoosePixelFormat(hdc, ppfd)) == 0) 

MessageBox(NULL, "ChoosePixelFormat failed", "Error", MB_OK); 
return FALSE; 

if (SetPixelFormat(hdc, pixelformat, ppfd) == FALSE) 

MessageBox(NULL, "SetPixelFormat failed", "Error", MB_OK); 
return FALSE; 

return TRUE; 


//--------------------------------------------------------------------------- 


void __fastcall TForm1::FormCreate(TObject *Sender) 

ghDC = GetDC(Handle); 
if (!bSetupPixelFormat(ghDC)) 
Close(); 
ghRC = wglCreateContext(ghDC); 
wglMakeCurrent(ghDC, ghRC); 

glClearColor(0.0, 0.0, 0.0, 0.0); 

FormResize(Sender); 

glEnable(GL_COLOR_MATERIAL); 
glEnable(GL_DEPTH_TEST); 

glEnable(GL_LIGHTING); 
glEnable(GL_LIGHT0); 
float p[4]={3,3,3,1}, 
d[3]={-1,-1,-3}; 
glLightfv(GL_LIGHT0,GL_POSITION,p); 
glLightfv(GL_LIGHT0,GL_SPOT_DIRECTION,d); 



//--------------------------------------------------------------------------- 


//--------------------------------------------------------------------------- 
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) 

if(ghRC) 

wglMakeCurrent(ghDC,0); 
wglDeleteContext(ghRC); 

if(ghDC) 
ReleaseDC(Handle, ghDC); 


//--------------------------------------------------------------------------- 

void TForm1::Draw() 

glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); 

//GLUquadricObj *quadObj; 
//quadObj=gluNewQuadric(); 

//gluQuadricDrawStyle(quadObj, GLU_LINE); 
glColor3f(0,1,0); 
//gluSphere(quadObj, 3,100,100); 
//gluDisk(quadObj,1, 2, 30, 30); 

//glRotatef(3, 0,1,0); 
//gluDeleteQuadric(quadObj); 

float x=1, y; 

glPointSize(1); 
// glEnable(GL_POINT_SMOOTH); 
glBegin(GL_POINTS); 
while (x!=100){ 
y = 2*sin(x); 

glVertex2f(x, y); 
x+=0.5; 

glEnd(); 

SwapBuffers(ghDC); 



void __fastcall TForm1::FormPaint(TObject *Sender) 

Draw(); 

//--------------------------------------------------------------------------- 


void __fastcall TForm1::FormResize(TObject *Sender) 


glViewport( 0, 0, Width, Height ); 
//glViewport( 100, 100, 300, 300 ); 
glMatrixMode( GL_PROJECTION ); 
glLoadIdentity(); 
glOrtho(-15,15, -15,15, 2,12); 
gluLookAt(0,0,5, 0,0,0, 0,1,0); 
glMatrixMode( GL_MODELVIEW ); 


//--------------------------------------------------------------------------- 

void __fastcall TForm1::Timer1Timer(TObject *Sender) 

//Draw(); 



Добавлено @ 23:09
А вот самый простой и понятный вариант
Код

#include <graphics.h> // включить описание графических функций С/С++ Borland'a
#include <conio.h>      // описание функций ввода-вывода с консоли (для getch())
#include <math.h>      // описание математических функций (для sin)
int main(void) 
{
float x, y;
/* Автоматическое определение графических параметров */
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "");     // Инициализация графического режима 
setbkcolor(1);                                      // делаем синий цвет фона, на котором...
line(50,0,50,480); line(50,200,640,200);     // ...рисуем координатные оси
moveto(50,200);                            // и переходим в начало координат,...
x=0;
do
{
y=x*sin(x);
lineto(50+x*50, 100+(100-(y*20)));     // ..откуда рисуем график
x=x+0.02;
} while(x<10);
getch();                 // ожидание нажатия пользователем любой клавиши 
closegraph();        // выход из графического режима
return 0;
}



PM MAIL   Вверх
Dreamer_0x01
Дата 12.11.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 12



Если под винду рисовать собираешься - прочитай про контексты устройства и событие WM_PAINT. Там и разберешься.


--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
Helicopterr
Дата 12.11.2005, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 2
Всего: 3





--------------------
people can fly
PM MAIL   Вверх
o.s.a.
Дата 14.11.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Цитата(Void @ 11.11.2005, 19:48)
Ты лучше скажи, зачем это тебе нужно и на чем собираешься делать (Visual C++, C++ Builder, какой-нибудь древний BC3.1)

Я читаю книжку Дейтела "Программирование на С++". Там все понятно.
А по одному предмету в универе нужно написать прогу на С++, чертящую график.
На чем делать? Да, мне, в принципе, все равно, главное чтоб работало.
А сам я пока пишу консольный приложения на С++ (компилятор Dev-C++ 4.9.9.2)


Цитата(welt @ 12.11.2005, 01:07)
А вот самый простой и понятный вариант

Вот, в принципе, то, то мне нужно, но у меня почему-то не нашлось заголовочного файла graphics.h




--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Void
Дата 14.11.2005, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(o @ 14.11.2005, 18:36)
Вот, в принципе, то, то мне нужно, но у меня почему-то не нашлось заголовочного файла graphics.h

Это катит только для древнего ДОСовского BGI.

Цитата(o @ 14.11.2005, 18:36)
А по одному предмету в универе нужно написать прогу на С++, чертящую график.

ОИДТ что-ль? smile

Ну что ж, как сказал Dreamer_0x01, воспользуемся Win32 API и GDI. Этот простейший пример создает окно, рисует линию из левого верхнего угла в правый нижний, а затем в середине окна окружность диаметром 10. С помощью GDI легче нарисовать линию, чем один пиксель smile
Код
#include <windows.h>

static char className[] = "MyWindowClass";

void RegisterClass(HINSTANCE hInstance);
LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
void DoPainting(HWND hWnd, HDC hdc);

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow) {
    MSG msg;
    HWND hWnd;
    RegisterClass(hInstance);
    hWnd = CreateWindow(className, "Graphic", WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL,
                        hInstance, NULL);
    if (!hWnd)
        return 0;
    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}

void RegisterClass(HINSTANCE hInstance) {
    WNDCLASSEX wc;
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc = WindowProc;
    wc.cbClsExtra = wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hIconSm = NULL;
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
    wc.lpszMenuName = NULL;
    wc.lpszClassName = className;
    RegisterClassEx(&wc);
}


LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    HDC hdc;
    PAINTSTRUCT ps;
    switch (msg) {
        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);
            DoPainting(hWnd, hdc);
            EndPaint(hWnd, &ps);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, msg, wParam, lParam);
    }
    return 0;
}

void DoPainting(HWND hWnd, HDC hdc) {
    RECT rc;
    SelectObject(hdc, GetStockObject(BLACK_BRUSH));
    GetClientRect(hWnd, &rc);
    MoveToEx(hdc, rc.left, rc.top, NULL);
    LineTo(hdc, rc.right, rc.bottom);
    Ellipse(hdc, (rc.left + rc.right) / 2 - 5,
            (rc.top + rc.bottom) / 2 - 5,
            (rc.left + rc.right) / 2 + 5,
            (rc.top + rc.bottom) / 2 + 5);
}




--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
o.s.a.
Дата 15.11.2005, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Void
Цитата
 
  [Linker error] undefined reference to `GetStockObject@4'
  [Linker error] undefined reference to `SelectObject@8'
  [Linker error] undefined reference to `MoveToEx@16'
  [Linker error] undefined reference to `LineTo@12'
  [Linker error] undefined reference to `Ellipse@20'
  ld returned 1 exit status

Добавлено @ 08:11
Цитата(Void @ 14.11.2005, 21:14)
С помощью GDI легче нарисовать линию, чем один пиксель

А если мне график нужно нарисовать, который представляет из себя не линию, а черт знает что smile


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Void
Дата 15.11.2005, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Добавь в список линкуемых библиотек gdi32. Не знаю, как в DevCPP, а из командной строки GCC это делается так: g++ blah.cpp -Wl,libgdi32.a

Цитата(o @ 15.11.2005, 10:07)
А если мне график нужно нарисовать, который представляет из себя не линию, а черт знает что

Так графики обычно и рисуются не точками, а линиями, соединяющими опорные точки.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
o.s.a.
Дата 16.11.2005, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Void, нашел я куда это прописать, но теперь пишет (в логе)
Цитата
Compiler: Default compiler
Executing  g++.exe...
g++.exe "C:\Dev-Cpp\1.cpp" -o "C:\Dev-Cpp\1.exe"    -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"  -L"C:\Dev-Cpp\lib" -Wl,libgdi32.a
C:\Dev-Cpp\Bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: libgdi32.a: No such file: No such file or directory
collect2: ld returned 1 exit status

Execution terminated



--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
S.A.P.
Дата 16.11.2005, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



o.s.a. если ты используешь DevCpp и редактируешь настройки компилятора, то g++ blah.cpp тебе писать не надо smile .

Можешь просто записать в окне, где редактиреутся командная строка компоновщика
-lgdi32 (без lib, он на них как то странно реагирует)
а сроку компилятора оставь пустую.
PM MAIL   Вверх
o.s.a.
Дата 18.11.2005, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Xo4y B MocKBy
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 16.2.2005
Где: Ташкент

Репутация: нет
Всего: 15



Огроменое спб всем, кто помогал, особенно Void и Perchilla


--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1094 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.