Advertisement
arten_1337

Arten

Nov 21st, 2019
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<limits.h>
  3. #include<stdbool.h>
  4.  
  5. int main(){
  6. int graph[5][5] = { {0, 10, 5, INT_MAX, INT_MAX}, {INT_MAX, 0, 2, 1, INT_MAX}, {INT_MAX, 3, 0, 9, 2}, {INT_MAX, INT_MAX, INT_MAX, 0, 4},
  7. {7, INT_MAX, INT_MAX, 6, 0}}, dist[5];
  8.  
  9. int src = 0, counter = 0;
  10. dist[0] = 0;
  11. for(int i = 1; i < 5; i++)
  12. dist[i] = INT_MAX;
  13.  
  14. bool visited[5];
  15. for(int i = 0; i < 5; i++)
  16. visited[i] = false;
  17.  
  18. while(counter <= 4){
  19. for(int i = 0; i < 5; i++){
  20. if(graph[src][i] != INT_MAX && !visited[i]){
  21. if(dist[i] > graph[src][i] + dist[src])
  22. dist[i] = graph[src][i] + dist[src];
  23. }
  24. }
  25. visited[src] = true;
  26. int min = INT_MAX;
  27. for(int i = 0; i < 5; i++){
  28. if(!visited[i] && dist[i] < min){
  29. min = dist[i];
  30. src = i;
  31. }
  32. }
  33. counter++;
  34.  
  35. }
  36.  
  37. for(int i = 0; i < 5; i++)
  38. printf("%d" , dist[i]);
  39. return 0;
  40. }
  41.  
  42. [12:38 AM, 11/22/2019] Preet: // JOB SCHEDULING
  43.  
  44. #include<stdio.h>
  45.  
  46. typedef struct jobs
  47. {
  48. char id;
  49. int deadline;
  50. int profit;
  51. } job;
  52.  
  53. int min(int a, int b)
  54. {
  55. if(a > b)
  56. return b;
  57. return a;
  58. }
  59.  
  60. void job_scheduling(job* ptr, int size)
  61. {
  62. int i, j;
  63. job temp;
  64. for(i = 0; i < size; i++)
  65. for(j = 0; j < size - 1; j++)
  66. if(ptr[j].profit < ptr[j + 1].profit)
  67. {
  68. temp = ptr[j];
  69. ptr[j] = ptr[j + 1];
  70. ptr[j + 1] = temp;
  71. }
  72. printf("\nID\tDEADLINE\tPROFIT");
  73. for (i = 0; i < size; i++)
  74. printf("\n%c\t%d\t\t%d", ptr[i].id, ptr[i].deadline, ptr[i].profit);
  75. int mark[size];
  76. for(i = 0; i < size; i++)
  77. mark[i] = 0;
  78. char selected[size];
  79. for(i = 0; i < size; i++)
  80. for(j = min(size, ptr[i].deadline) - 1; j >= 0; j--)
  81. {
  82. if(mark[j] == 0)
  83. {
  84. selected[j] = ptr[i].id;
  85. mark[j] = 1;
  86. break;
  87. }
  88. }
  89. printf("\n--> Selected jobs <--\n");
  90. for(i = 0; i < size; i++)
  91. if(mark[i] == 1)
  92. printf("%c\t", selected[i]);
  93. }
  94.  
  95. int main()
  96. {
  97. int i;
  98. int n = 5;
  99. job candidates[5] = {
  100. 'A', 2, 60,
  101. 'B', 1, 100,
  102. 'C', 3, 20,
  103. 'D', 2, 40,
  104. 'E', 1, 20
  105. };
  106. printf("You have entered the following details.");
  107. printf("\nID\tDEADLINE\tPROFIT");
  108. for(i = 0; i < n; i++)
  109. printf("\n%c\t%d\t\t%d", candidates[i].id, candidates[i].deadline, candidates[i].profit);
  110. job_scheduling(candidates, n);
  111. return 0;
  112. }
  113.  
  114. [12:39 AM, 11/22/2019] Preet:
  115. // ACTIVITY SELECTION
  116.  
  117. #include<stdio.h>
  118.  
  119. typedef struct activities
  120. {
  121. char name;
  122. int start;
  123. int end;
  124. } activity;
  125.  
  126. void activity_selection(activity* ptr, int size)
  127. {
  128. int i, j;
  129. activity temp;
  130. for(i = 0; i < size; i++)
  131. for(j = 0; j < size - 1; j++)
  132. if(ptr[j].end > ptr[j + 1].end)
  133. {
  134. temp = ptr[j];
  135. ptr[j] = ptr[j + 1];
  136. ptr[j + 1] = temp;
  137. }
  138. printf("\n--> Selected Activies <--");
  139. printf("\n%c %d %d", ptr[0].name, ptr[0].start, ptr[0].end);
  140. j = 0;
  141. for(i = 1; i < size; i++)
  142. if(ptr[i].start >= ptr[j].end)
  143. {
  144. printf("\n%c %d %d", ptr[i].name, ptr[i].start, ptr[i].end);
  145. j = i;
  146. }
  147. }
  148.  
  149. int main()
  150. {
  151. int n, i;
  152. printf("Please enter number of activities to be handled: ");
  153. scanf("%d", &n);
  154. activity candidates[n];
  155. printf("\nPlese enter the activity name, start and end time respectively: ");
  156. for(i = 0; i < n; i++)
  157. scanf(" %c %d %d", &candidates[i].name, &candidates[i].start, &candidates[i].end);
  158. printf("\nYou have entered the following details.");
  159. for(i = 0; i < n; i++)
  160. printf("\n%c %d %d", candidates[i].name, candidates[i].start, candidates[i].end);
  161. activity_selection(candidates, n);
  162. return 0;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement