Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<fstream>
  4. using namespace std;
  5. #define maxTask 20
  6. #define maxChild 19
  7. #define inf 0;
  8. class task{
  9. public:
  10.  
  11. char TaskName[40];
  12. double duration;
  13. double StatrTime;
  14. int children[maxChild];
  15. bool visited;
  16. task(char*t,double d,double s){
  17. strcpy(TaskName,t);
  18. duration=d;
  19. StatrTime=inf;
  20. visited=false;
  21. for (int i=0;i<maxChild;i++){
  22. children[i]=-1;}
  23. }};
  24. class graph{
  25. public:
  26. task**g;
  27. graph(int n);
  28. void loadFile(char*FileName,int N);
  29. void AddTask(int Index,char* tn,double D,double S,int N);
  30. void AddEdge(int Indix,int Child,int N);
  31. task StartTask(int n);
  32. task EndTask();
  33. void printCB();
  34. };
  35. graph::graph(int n){
  36. g=new task*[n];}
  37.  
  38. void graph::loadFile(char*filename,int N){
  39. ifstream file_in(filename,ios::in);
  40. int st=0;
  41. int y;
  42. file_in>>y;
  43. int index;
  44. double dur;
  45. char TN[40];
  46. for(int i=0;i<N;i++){
  47. file_in>>index;
  48. file_in>>TN;
  49. file_in>>dur;
  50. AddTask(index,TN,dur,st,N);}
  51. int e;
  52. int ch;
  53. file_in>>e;
  54. for(int j=0;j<e;j++){
  55. file_in>>index;
  56. file_in>>ch;
  57. AddEdge(index,ch,N);return;}}
  58.  
  59. void graph::AddTask (int Index,char* tn,double D,double S,int N){
  60.  
  61. g[Index]=new task(tn,D,S);return;}
  62.  
  63. void graph::AddEdge(int Index,int Child,int N){
  64. for ( int k=0;k<(N-1);){
  65. if(g[Index]->children[k]==-1){
  66. g[Index]->children[k]=Child;
  67. g[Child]->visited=true;
  68. break;}
  69. else k++; }}
  70.  
  71. task graph::StartTask (int n){
  72. for(int i=0;i<n;i++){
  73. if(!(g[i]->visited))
  74. return *g[i];}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement