• 大小: 2MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-25
  • 语言: 其他
  • 标签:

资源简介

N ( N>10 )个居民区之间需要铺设煤气管道。假设任意两个居民区之间都可以铺设煤气管道,但代价不同。事先将任意两个居民区之间铺设煤气管道的代价存入磁盘文件中。设计一个最佳方案使得这 N 个居民区之间铺设煤气管道所需代价最少 , 并希望以图形方式在屏幕上输出结果。

资源截图

代码片段和文件信息

#include 
#include“MGraph.h“
#include “windows.h“
#include
#include
using namespace std;

vector  > pos;

extern “C“ WINbaseAPI HWND WINAPI GetConsoleWindow (); //得到窗口句柄

void gotoxy(int xint y) //移动光标
{
HANDLE handle;
COORD  coord;
coord.X=x;
coord.Y=y;
handle=GetStdHandle(STD_OUTPUT_HANDLE);//获得标准输出句柄
SetConsoleCursorPosition(handlecoord);//参数1:获得设备句柄,参数2:位置
}

void clearline(int k) //局部清屏
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbi; //当前窗口信息
if (GetConsoleScreenBufferInfo(hConsole &csbi)) //获取当前光标位置
for(int i=0;i {
gotoxy(0csbi.dwCursorPosition.Y-i); //往前清k行
for(int j=0;j<=100;j++)
cout<<“ “;
cout.flush();
}
gotoxy(018);
}

void MGraph::FsetMGraph()
{
ifstream in(“test.txt“);
if(!in)
{
cerr<<“File \“test.txt\“ not found.“< }
string s;
getline(ins);
istringstream sin(s);
int ne;
sin>>n;
vexNum=n;
sin>>e;
edgeNum=e;

pos.resize(vexNum);

for (i=0;i {
pos[i].resize(2); //地点坐标格式XY是顶点数*2的二维数组
}
for(int i=0;i for(int j=0;j pos[i][j]=rand()%20;

getline(ins);
istringstream win(s);
for(int i=0;i {
win>>vertex[i];
gotoxy(pos[i][0]pos[i][1]);
cout<<“@“< }
for(i=0;i for(int j=0;j {
PrimEdge[i][j]=9999;
edge[i][j]=9999;
}

for(int k=0;k {
char ab;
int ijm;
getline(ins);
istringstream din(s);
din>>a;
din>>b;
i=Subscript(a);
j=Subscript(b);
din>>m;
edge[i][j]=m;
edge[j][i]=m;
}
reDraw();
in.close();
}

void MGraph::reDraw() //重置路线,使恢复初始色彩
{
int ij;
HWND hwnd; 
HDC hdc; 
hwnd = GetConsoleWindow(); //获取console的设备上下文句柄
hdc = GetDC(hwnd); //获取设备环境以作图

for (i=0;i for(j=0;j if(edges[i][j]>0&&edges[i][j]<10000)
{
MoveToEx(hdcpos[i][0]*8pos[i][1]*17NULL);//绘图位置移动到起始位置点
LineTo(hdcpos[j][0]*8pos[j][1]*17); //划线
}
ReleaseDC(hwndhdc); //释放设备上下文环境
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        185  2008-09-01 23:23  Pipeline\data.txt

     文件     618543  2013-09-04 22:13  Pipeline\Debug\Pipeline.exe

     文件    1221632  2013-09-04 22:13  Pipeline\Debug\Pipeline.pdb

     文件     214016  2013-09-05 20:41  Pipeline\Debug\vc60.idb

     文件     167936  2013-09-04 22:13  Pipeline\Debug\vc60.pdb

     文件      92056  2013-09-04 22:04  Pipeline\Debug\main.obj

     文件    5864456  2013-09-04 22:04  Pipeline\Debug\Pipeline.pch

     文件     455479  2013-09-04 22:13  Pipeline\Debug\MGraph.obj

     文件     886272  2013-09-04 22:13  Pipeline\Debug\Pipeline.ilk

     文件       2319  2013-09-04 12:39  Pipeline\draw.cpp

     文件          0  2013-09-04 14:13  Pipeline\draw.h

     文件        408  2013-09-04 17:49  Pipeline\MGraph.h

     文件        895  2013-09-04 08:49  Pipeline\Operate.cpp

     文件        100  2013-09-04 08:41  Pipeline\Operate.h

     文件       4422  2013-09-04 13:40  Pipeline\Pipeline.dsp

     文件        522  2013-09-03 09:15  Pipeline\Pipeline.dsw

     文件      66560  2013-09-05 21:06  Pipeline\Pipeline.ncb

     文件       1292  2013-09-04 22:13  Pipeline\Pipeline.plg

     文件        656  2013-09-05 20:43  Pipeline\test.txt

     文件        577  2013-09-04 22:03  Pipeline\main.cpp

     文件       5254  2013-09-04 22:13  Pipeline\MGraph.cpp

     文件      50688  2013-09-05 21:06  Pipeline\Pipeline.opt

     目录          0  2013-09-04 18:10  Pipeline\Debug

     目录          0  2013-09-04 18:10  Pipeline

----------- ---------  ---------- -----  ----

              9654268                    24


评论

共有 条评论