亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ms_p1.c

?? It s an entire application that uses knowdledge of probabilistic and statistical math to generate an
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
/////////////////////////////////////////////////////////////////////////////
/////                                                                   /////
/////                        BIBLIOTECI INCLUSE                         /////
/////                                                                   /////
/////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include "graphics.h"
#include "string.h"
#include "alloc.h"

#include "MT.H"



/////////////////////////////////////////////////////////////////////////////
/////                                                                   /////
/////                   DEFINITII MACROINSTRUCTIUNI                     /////
/////                                                                   /////
/////////////////////////////////////////////////////////////////////////////

#define _N    1500                        // numarul implicit de valori de observatie a variabilei aleatoare X
#define _n    50                          // numarul implicit de variabile aleatoare discrete

#define _NUM_VIEWS       4                // numarul de viewporturi

#define _VIEW_COLOR      9                // culori implicite in viewport
#define _SEL_VIEW_COLOR  4
#define _BACKGROUND      0
#define _DRAW_COLOR      14
#define _RULER_COLOR     3
#define _INTERP_COLOR    10
#define _COORD_SYS_COLOR 7
#define _COORD_SYS_DXY   15               // pozitia sistemului de coordonate fata de conturul viewportului
#define _HALF_RULER      3                // jumatate dintr-o liniuta de rigla

#define _BUBBLE_SIZE     2                // marimea unei buline indicator

#define _CS_CH_WIDTH         77           // contante in consola
#define _CS_CH_HEIGHT        20
#define _CS_SCR_DXY          3
#define _CS_FILL_COLOR       8
#define _CS_SIDE_COLOR1      7
#define _CS_SIDE_COLOR2      15
#define _CS_TEXT_SCR_HEIGHT  10
#define _CS_TEXT_RSPACE_SCR  3
#define _CS_CMDLINE_COLOR    10
#define _CS_CMD_COLOR        3
#define _CS_MAX_TOKENS       3
#define _CS_MAX_TOKEN_LENGTH 30
#define _CS_REPLY_COLOR      12
#define _CS_MAX_COMMANDS     6
#define _CS_MAX_INFO_LENGTH  640
#define _CS_MAX_INFO_LENGTH2 450

#define _ESCAPE              27           // tastele extinse
#define _ENTER               13
#define _BACKSPACE           8
#define _UP                  72



/////////////////////////////////////////////////////////////////////////////
/////                                                                   /////
/////                        VARIABILE GLOBALE                          /////
/////                                                                   /////
/////////////////////////////////////////////////////////////////////////////


struct viewport
{
    unsigned short x,                     // coordonatele stanga-sus ale viewportului
		   y;
    unsigned short width,                 // dimensiunile pe ecran ale viewportului
		   height;
    unsigned short csx0,                  // coordonatele stanga-sus, dreapta-jos ale sistemului de coordonate
		   csy0,
		   csx1,
		   csy1;

    unsigned long seed;                   // valoare initiala pentru functia de random
    unsigned int n,                       // numarul de variabile aleatoare discrete
		 N;                       // numarul de valori de observatie a variabilei aleatoare X

    char color,                           // culoarea cu care se deseneaza histograma
	 rulercolor,                      // culoarea riglei
	 interpcolor,                     // culoarea interpolatorului
	 backcolor;                       // culoarea de fundal a viewportului

    char SwitchBar,                       // flag pt activ optiunii de bara verticala
	 SwitchBubble,                    // flag pt activ optiunii de bulina indicator
	 SwitchRuler,                     // flag pt activ riglei
	 SwitchGrid,                      // flag pt activ gridului
	 SwitchInterp;                    // flag pt activ interpolatorului

    float RulerResX,                      // resolutia riglei/gridului (intre 0 si 1)
	  RulerResY;

    int far *X;                           // variabila aleatoare discreta
    int far *nr;                          // de cate ori apare X[i] in cele N numere generate
    double far *P,                        // distributia de probabilitate
	   far *F;                        // functia de repartitie
}
    Views[_NUM_VIEWS];                    // viewporturile (4)


unsigned char SelView;                    // viewportul selectat
char SwitchFScreen,                       // flag pt activ optiunii de fullscreen
     SwitchConsole;                       // flag pt activ consolei

char BackColor;                           // culoarea de fundal

char quit;                                // flag pentru iesirea din program

signed short csX,                         // coordonatele stanga-sus ale consolei
	     cstY,
	     csbY;
unsigned short csWidth,                   // dimensiunile consolei
	       cstHeight,
	       csbHeight;

unsigned int csNextLine;                  // indicele urmatoarei linii din consola
					  // liniile de text ale consolei
char csTextLines[_CS_CH_HEIGHT][_CS_CH_WIDTH+1];

char csLineTextColor[_CS_CH_HEIGHT];      // culorile scrisului de pe fiecare linie a consolei

char csCmdLine [_CS_CH_WIDTH+1];          // linia de comanda
char csCmdLine2[_CS_CH_WIDTH+1];          // linia anterioara de comanda
					  // tokenurile rezultate din descompunerea liniei de comanda
char csCmdTokens[_CS_MAX_TOKENS][_CS_MAX_TOKEN_LENGTH+1];
					  // numarul de tokenuri
unsigned int csNumTokens;
					  // informatii referitoare la anumite comenzi (activate cu comanda "MAN")
char csInfos[_CS_MAX_COMMANDS][_CS_MAX_INFO_LENGTH]=
{
 "\n05SET sets a value for a variable:\n06SET set_modes value\n06set_modes:\n11  -0-Selected Viewport [0..3]\n11  -1-Rand initial value (0 for randomize)\n11  -2-N observation values\n11  -3-n discrete random variables\n11  -4-FullScreen flag (0->1)\n11  -5-Show Bubble flag (0->1)\n11  -6-Line/Bar mode flag (0->1)\n11  -7-Drawing color (0..15)\n11  -8-Background color (0..15)\n11  -9-Show Ruler flag (0->1)\n11  -10-Show Grid flag (0->1)\n11  -11-Grid/ruler X resolution (float)\n11  -12-Grid/ruler Y resolution (float)\n11  -13-Grid/ruler color (0..15)\n11  -14-Show interpolator flag (0..1)\n11  -15-Interpolator color (0..15)",
 "\n05GET gets the value of a variable:\n06GET get_modes value\n06get_modes:\n11  -0-Selected Viewport [0..3]\n11  -1-Rand initial value (0 for randomize)\n11  -2-N observation values\n11  -3-n discrete random variables\n11  -4-FullScreen flag (0->1)\n11  -5-Show Bubble flag (0->1)\n11  -6-Line/Bar mode flag (0->1)\n11  -7-Drawing color (0..15)\n11  -8-Background color (0..15)\n11  -9-Show Ruler flag (0->1)\n11  -10-Show Grid flag (0->1)\n11  -11-Grid/ruler X resolution (float)\n11  -12-Grid/ruler Y resolution (float)\n11  -13-Grid/ruler color (0..15)\n11  -14-Show interpolator flag (0..1)\n11  -15-Interpolator color (0..15)",
 "\n05PRINT prints a field of the selected distribution/viewport:\n06PRINT field index\n06 field:\n11  -0-X random values\n11  -1-P probabilities\n11  -2-F repartition functions\n11  -3-NR value interval frequency\n06index:\n11  -ALL-prints all values of the selected field\n11  -?-a number specifying the index of the field",
 "\n05MAN prints infos about the folowing command:\n06MAN command\n06command:\n11  -SET-set a variable value\n11  -GET-get a variabile value\n11  -PRINT-prints distribution dependent fields\n11  -QUIT- exits from the program",
 "\n05QUIT exits from the program",
 "\n05INTRO shows the console introduction"
};
					  // introducere consola
char csFirstInfo[_CS_MAX_INFO_LENGTH2]="\n04Console\n05You can modify/view/print all sorts of entities in this program\n05For more infos write MAN folowing one of the commands:\n11  -SET\n11  -GET\n11  -PRINT\n11  -MAN\n11  -QUIT\n11  -INTRO\n00\n09 I hope you like it!\n00\n07 Project team:\n12  -Popescu Cosmin\n12  -Pocsai Ildiko\n12  -Pucea Gheorghe\n12  -Poenaru Daniel\n12  -Petrov Olivera\n12  -Tigan Adriana\n00\n14 Press '~' (SHIFT+`) to hide this console";



/////////////////////////////////////////////////////////////////////////////
/////                                                                   /////
/////                      PROTOTIPURI FUNCTII                          /////
/////                                                                   /////
/////////////////////////////////////////////////////////////////////////////

void _InitConsole
   (
   );

int _PushConsoleText
   (
    char *text
   );

void _PushConsoleTextLines
   (
    char *text
   );

void _ClearConsole
   (
   );

void _TokenizeCmdLine
   (
   );

void _CompileCmdLine
   (
   );

void _PrintConsoleText
   (
   );

void _PrintConsoleCmdText
   (
   );

void _DrawConsole
   (
   );

void _DropConsole
   (
   );

double HN
   (
    unsigned int n
   );

int BinSearch
   (
    double far *F,
    unsigned int n,
    double u
   );

void _DiscreteSimulation
   (
    unsigned int view
   );

void _GenerateViews
   (
   );

void _DrawViews
   (
   );

void _DrawRV
   (
    unsigned char view
   );

void _ClearScreen
   (
    char color
   );

void _FullScreenView
   (
    unsigned int view
   );

void _DrawFrame
   (
   );

void _FreeBuffers
   (
   );

void _FreeViewportBuffers
   (
    unsigned int view
   );

void _InitDistributions
   (
   );

void _RefreshDistrib
   (
    unsigned int view
   );

int main
   (
   );



/////////////////////////////////////////////////////////////////////////////
/////                                                                   /////
/////                         CORPURI FUNCTII                           /////
/////                                                                   /////
/////////////////////////////////////////////////////////////////////////////


/***************************************************************************/
/***************************************************************************/
/***           Initializeaza consola si afiseaza introducerea            ***/
/***************************************************************************/
/***************************************************************************/

void _InitConsole
   (
   )

{
    csWidth  =getmaxx()     -2*_CS_SCR_DXY;
    cstHeight=(getmaxy()>>1)-2*_CS_SCR_DXY;
    csbHeight=_CS_TEXT_SCR_HEIGHT+(_CS_TEXT_RSPACE_SCR<<1);

    csX =_CS_SCR_DXY;
    cstY=-(cstHeight+(_CS_SCR_DXY<<1))-_CS_TEXT_SCR_HEIGHT-(_CS_TEXT_RSPACE_SCR<<1);
    csbY=cstY+cstHeight+_CS_SCR_DXY+_CS_SCR_DXY;

    csNextLine=0;

    SwitchConsole=0;

    _PushConsoleTextLines(csFirstInfo);
}



/***************************************************************************/
/***************************************************************************/
/***       "Impinge" o linie de text in consola de jos in sus            ***/
/***       cu culoarea specificata in codul de culori pe linii		 ***/
/***************************************************************************/
/***************************************************************************/

int _PushConsoleText
   (
    char *text
   )

{
    unsigned int i;

    if (csNextLine==_CS_CH_HEIGHT)
    {
	for (i=0; i<_CS_CH_HEIGHT-1; i++)
	{
	    strcpy(csTextLines[i],csTextLines[i+1]);
	    csLineTextColor[i]=csLineTextColor[i+1];
	}

	strcpy(csTextLines[_CS_CH_HEIGHT-1],text);
    }
    else
    {
	strcpy(csTextLines[csNextLine],text);

	csNextLine++;
    }


    return(csNextLine-1);
}



/***************************************************************************/
/***************************************************************************/
/***      "Impinge" mai multe linii de text pe ecran, linii date de      ***/
/***    stringul "text" care trebuie sa contina la fiecare inceput de    ***/
/***    linie de text caracterul '\n' urmat de 2 caractere ce codifica   ***/
/***    culoarea cu care va fi scrisa linia de text (neaparat doua cifre)***/
/***************************************************************************/
/***************************************************************************/

void _PushConsoleTextLines
   (
    char *text
   )

{
    char str[_CS_CH_WIDTH+1],col[2],color;
    char *nextLine;
    unsigned int pos,nextpos;


    if (text[0]!='\n')
    {
	return;
    }

    pos=1;
    while (1)
    {
	col[0]=text[pos];
	col[1]=text[pos+1];

	color=atoi(col);

	nextLine=strchr(text+pos+2,'\n');

	if (nextLine)
	{
	    nextpos=nextLine-(text+pos+1);
	}
	else
	{
	    nextpos=text+strlen(text)-(text+pos+1);
	}

	memset(str,0,_CS_CH_WIDTH+1);
	strncpy(str,text+pos+2,nextpos-1);

	csLineTextColor[_PushConsoleText(str)]=color;

	if (!nextLine)
	{
	    break;
	}

	pos=nextLine-text+1;
    }
}



/***************************************************************************/
/***************************************************************************/
/***                     Sterge textul din consola                       ***/
/***************************************************************************/
/***************************************************************************/

void _ClearConsole
   (
   )

{
    csNextLine=0;
}



/***************************************************************************/
/***************************************************************************/
/***       Imparte linia de comanda in tokenuri ce vor forma apoi        ***/
/***               comenzile, optiunile si valorile de comanda		 ***/
/***************************************************************************/
/***************************************************************************/

void _TokenizeCmdLine
   (
   )

{
    char *nextToken;
    unsigned int pos,nextpos;


    pos=0;
    csNumTokens=0;

    while (csCmdLine[pos]==' ')
    {
	pos++;
    }

    while (1)
    {
	nextToken=strchr(csCmdLine+pos,' ');

	if (nextToken)
	{
	    nextpos=nextToken-(csCmdLine+pos);
	}
	else
	{
	    nextpos=csCmdLine+strlen(csCmdLine)-(csCmdLine+pos);
	}

	csNumTokens++;

	memset(csCmdTokens[csNumTokens-1],0,_CS_MAX_TOKEN_LENGTH+1);
	strncpy(csCmdTokens[csNumTokens-1],csCmdLine+pos,nextpos);

	if (!nextToken)
	{
	    break;
	}

	if (csNumTokens>=_CS_MAX_TOKENS)
	{
           break;
	}

	pos=nextToken-csCmdLine+1;

	while (csCmdLine[pos]==' ')
	{
	    pos++;
	}
    }
}



/***************************************************************************/
/***************************************************************************/
/***                  Interpreteaza linia de comanda                     ***/
/***************************************************************************/
/***************************************************************************/

void _CompileCmdLine
   (
   )

{
    unsigned int iarg,iarg2,i,count;
    char str[100],flag;
    float farg;


    flag=0;

    switch (csNumTokens)
    {
	case 1:
	if (!strcmp(strupr(csCmdTokens[0]),"QUIT"))
	{
	    quit=1;
	    return;
	}
	else
	if (!strcmp(strupr(csCmdTokens[0]),"INTRO"))
	{
	    _PushConsoleTextLines(csFirstInfo);
	    flag=1;
	}
	break;

	case 2:
	if (!strcmp(strupr(csCmdTokens[0]),"MAN"))
	{
	    if (!strcmp(strupr(csCmdTokens[1]),"SET"))
	    {
		_PushConsoleTextLines(csInfos[0]);
	    }
	    else
	    if (!strcmp(strupr(csCmdTokens[1]),"GET"))
	    {
		_PushConsoleTextLines(csInfos[1]);
	    }
	    else
	    if (!strcmp(strupr(csCmdTokens[1]),"PRINT"))
	    {
		_PushConsoleTextLines(csInfos[2]);
	    }
	    else
	    if (!strcmp(strupr(csCmdTokens[1]),"MAN"))
	    {
		_PushConsoleTextLines(csInfos[3]);
	    }
	    else
	    if (!strcmp(strupr(csCmdTokens[1]),"QUIT"))
	    {
		_PushConsoleTextLines(csInfos[4]);
	    }
	    else
	    if (!strcmp(strupr(csCmdTokens[1]),"INTRO"))
	    {
		_PushConsoleTextLines(csInfos[5]);
	    }

	    flag=1;
	}
	else
	if (!strcmp(strupr(csCmdTokens[0]),"GET"))
	{
	    flag=1;

	    sscanf(csCmdTokens[1],"%d",&iarg);

	    switch (iarg)
	    {
		case 0:
		iarg2=SelView;
		break;

		case 1:
		iarg2=Views[SelView].seed;
		break;

		case 2:
		iarg2=Views[SelView].N;
		break;

		case 3:
		iarg2=Views[SelView].n;
		break;

		case 4:
		iarg2=SwitchFScreen;
		break;

		case 5:
		iarg2=Views[SelView].SwitchBubble;
		break;

		case 6:
		iarg2=Views[SelView].SwitchBar;
		break;

		case 7:
		iarg2=Views[SelView].color;
		break;

		case 8:
		iarg2=Views[SelView].backcolor;
		break;

		case 9:
		iarg2=Views[SelView].SwitchRuler;
		break;

		case 10:
		iarg2=Views[SelView].SwitchGrid;
		break;

		case 11:
		farg=Views[SelView].RulerResX;
		break;

		case 12:
		farg=Views[SelView].RulerResY;
		break;

		case 13:
		iarg2=Views[SelView].rulercolor;
		break;

		case 14:
		iarg2=Views[SelView].SwitchInterp;
		break;

		case 15:
		iarg2=Views[SelView].interpcolor;
		break;
	    }

	    if (
		(iarg!=11)&&

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
香蕉久久夜色精品国产使用方法| 高清不卡一区二区| 一区二区三区不卡视频| 国产精品超碰97尤物18| 国产清纯在线一区二区www| 久久先锋资源网| 精品免费日韩av| 欧美一级二级三级蜜桃| 91精品久久久久久久99蜜桃| 7777精品伊人久久久大香线蕉最新版| 欧美三区在线观看| 欧美日韩国产一级| 在线播放欧美女士性生活| 337p亚洲精品色噜噜| 欧美一级生活片| 精品国产a毛片| 国产午夜精品一区二区三区视频 | 成人午夜免费av| 国产99一区视频免费| 成人免费三级在线| 色综合天天在线| 欧美日韩综合不卡| 91精品国产欧美一区二区18| 日韩片之四级片| 欧美激情中文字幕| 亚洲理论在线观看| 日韩精品五月天| 韩国av一区二区三区| 成人精品免费网站| 欧美三级日本三级少妇99| 欧美一区二区三区在线视频| 久久五月婷婷丁香社区| 亚洲欧美自拍偷拍| 亚洲bdsm女犯bdsm网站| 韩国欧美国产1区| 成人国产精品免费| 欧美撒尿777hd撒尿| 欧美mv日韩mv国产网站app| 中文一区二区完整视频在线观看| 亚洲精选在线视频| 蜜桃视频一区二区| 99久久久久免费精品国产 | 中文字幕在线一区免费| 亚洲电影一级片| 国产一区二区三区最好精华液| 成人h动漫精品| 337p亚洲精品色噜噜噜| 国产日韩av一区二区| 亚洲一区二区三区小说| 国产麻豆精品95视频| 91亚洲永久精品| 日韩女优制服丝袜电影| 中文字幕一区二区三区在线播放 | 精彩视频一区二区| 色综合天天综合网天天狠天天| 日韩网站在线看片你懂的| 国产精品久久综合| 美女看a上一区| 91国偷自产一区二区三区成为亚洲经典 | 色香蕉久久蜜桃| 欧美成人一级视频| 亚洲精品免费视频| 韩国午夜理伦三级不卡影院| 在线国产电影不卡| 欧美激情综合五月色丁香| 蜜桃av一区二区三区电影| 91在线丨porny丨国产| 26uuu成人网一区二区三区| 亚洲一区日韩精品中文字幕| 国产成人一区二区精品非洲| 911精品国产一区二区在线| 亚洲天天做日日做天天谢日日欢 | 蜜臀久久久久久久| 色婷婷一区二区| 国产日产精品1区| 美日韩一区二区三区| 色婷婷久久久亚洲一区二区三区| 国产日韩精品久久久| 久草这里只有精品视频| 91精品国产色综合久久不卡蜜臀 | 国产免费成人在线视频| 久久超碰97人人做人人爱| 欧美日韩国产天堂| 亚洲靠逼com| 99久久精品免费| 国产蜜臀av在线一区二区三区| 久久成人精品无人区| 欧美一区二区三区四区高清| 性欧美大战久久久久久久久| 日本道精品一区二区三区 | 日韩vs国产vs欧美| 在线观看日产精品| 亚洲综合色婷婷| 日本精品视频一区二区三区| 日韩美女啊v在线免费观看| 成人av集中营| 国产精品人人做人人爽人人添| 国产精品亚洲专一区二区三区 | 一本色道久久综合狠狠躁的推荐| 国产精品久久久久久福利一牛影视| 国产一区二区按摩在线观看| 26uuu久久天堂性欧美| 国产综合色在线视频区| 久久综合九色综合欧美98| 黑人精品欧美一区二区蜜桃 | 久久久久久久久久久久久夜| 久久99精品久久久久| 日韩欧美国产综合| 久草在线在线精品观看| 精品国产91九色蝌蚪| 国产精品一区二区久久不卡| 久久色.com| 粉嫩av一区二区三区在线播放| 国产精品人妖ts系列视频| 99久久精品免费| 亚洲综合色噜噜狠狠| 欧美二区在线观看| 久久91精品国产91久久小草| 精品美女一区二区三区| 久久国产精品色婷婷| 久久久www成人免费毛片麻豆| 国产69精品久久777的优势| 国产精品国产自产拍高清av王其 | 欧美乱妇15p| 秋霞av亚洲一区二区三| 精品国产凹凸成av人网站| 国产成都精品91一区二区三| 综合电影一区二区三区| 91极品视觉盛宴| 蜜桃视频一区二区三区在线观看| 精品99一区二区| 99在线视频精品| 亚洲国产精品麻豆| 欧美成人国产一区二区| 国产不卡免费视频| 一区二区三区在线视频观看58| 欧美精品v国产精品v日韩精品| 经典一区二区三区| 亚洲视频 欧洲视频| 欧美日韩大陆一区二区| 国产尤物一区二区| 亚洲精品少妇30p| 欧美v亚洲v综合ⅴ国产v| 成人高清免费观看| 日韩精品久久久久久| 亚洲国产高清在线观看视频| 欧美亚洲一区二区在线| 极品瑜伽女神91| 亚洲精品一二三四区| 欧美一级在线免费| 91丨国产丨九色丨pron| 裸体一区二区三区| 日韩伦理免费电影| 日韩精品一区二区三区蜜臀 | 成人99免费视频| 五月婷婷色综合| 国产精品素人一区二区| 在线成人av影院| 99视频一区二区| 麻豆一区二区三| 亚洲丝袜另类动漫二区| 精品少妇一区二区三区免费观看 | 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美日本在线看| 成人激情午夜影院| 蜜桃久久久久久| 夜色激情一区二区| 亚洲国产成人午夜在线一区| 欧美一区二区视频在线观看2020 | 欧美一区二区免费| 色婷婷久久久综合中文字幕| 国产精品一级黄| 奇米精品一区二区三区在线观看 | 26uuu久久天堂性欧美| 欧美无砖专区一中文字| 成人av在线网站| 精品一区二区三区在线观看| 亚洲一区在线视频观看| 国产精品久久看| 国产亚洲精品aa| 日韩精品影音先锋| 欧美喷潮久久久xxxxx| 一本一道久久a久久精品综合蜜臀| 国产精品一区二区黑丝| 免费人成精品欧美精品| 亚洲成a人v欧美综合天堂| 亚洲免费观看高清完整| 日本一区二区不卡视频| 久久久久青草大香线综合精品| 91精品国产综合久久久蜜臀粉嫩| 在线观看日韩高清av| 色婷婷亚洲婷婷| aaa欧美色吧激情视频| 欧美精品一区二区三区在线播放| 欧美日韩一级黄| 精品视频一区三区九区| 欧美性生活久久| 欧美体内she精视频| 欧美性感一类影片在线播放| 色噜噜久久综合|