Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<limits.h>
- #include<stdbool.h>
- int main(){
- 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, INT_MAX, INT_MAX, 6, 0}}, dist[5];
- int src = 0, counter = 0;
- dist[0] = 0;
- for(int i = 1; i < 5; i++)
- dist[i] = INT_MAX;
- bool visited[5];
- for(int i = 0; i < 5; i++)
- visited[i] = false;
- while(counter <= 4){
- for(int i = 0; i < 5; i++){
- if(graph[src][i] != INT_MAX && !visited[i]){
- if(dist[i] > graph[src][i] + dist[src])
- dist[i] = graph[src][i] + dist[src];
- }
- }
- visited[src] = true;
- int min = INT_MAX;
- for(int i = 0; i < 5; i++){
- if(!visited[i] && dist[i] < min){
- min = dist[i];
- src = i;
- }
- }
- counter++;
- }
- for(int i = 0; i < 5; i++)
- printf("%d" , dist[i]);
- return 0;
- }
- [12:38 AM, 11/22/2019] Preet: // JOB SCHEDULING
- #include<stdio.h>
- typedef struct jobs
- {
- char id;
- int deadline;
- int profit;
- } job;
- int min(int a, int b)
- {
- if(a > b)
- return b;
- return a;
- }
- void job_scheduling(job* ptr, int size)
- {
- int i, j;
- job temp;
- for(i = 0; i < size; i++)
- for(j = 0; j < size - 1; j++)
- if(ptr[j].profit < ptr[j + 1].profit)
- {
- temp = ptr[j];
- ptr[j] = ptr[j + 1];
- ptr[j + 1] = temp;
- }
- printf("\nID\tDEADLINE\tPROFIT");
- for (i = 0; i < size; i++)
- printf("\n%c\t%d\t\t%d", ptr[i].id, ptr[i].deadline, ptr[i].profit);
- int mark[size];
- for(i = 0; i < size; i++)
- mark[i] = 0;
- char selected[size];
- for(i = 0; i < size; i++)
- for(j = min(size, ptr[i].deadline) - 1; j >= 0; j--)
- {
- if(mark[j] == 0)
- {
- selected[j] = ptr[i].id;
- mark[j] = 1;
- break;
- }
- }
- printf("\n--> Selected jobs <--\n");
- for(i = 0; i < size; i++)
- if(mark[i] == 1)
- printf("%c\t", selected[i]);
- }
- int main()
- {
- int i;
- int n = 5;
- job candidates[5] = {
- 'A', 2, 60,
- 'B', 1, 100,
- 'C', 3, 20,
- 'D', 2, 40,
- 'E', 1, 20
- };
- printf("You have entered the following details.");
- printf("\nID\tDEADLINE\tPROFIT");
- for(i = 0; i < n; i++)
- printf("\n%c\t%d\t\t%d", candidates[i].id, candidates[i].deadline, candidates[i].profit);
- job_scheduling(candidates, n);
- return 0;
- }
- [12:39 AM, 11/22/2019] Preet:
- // ACTIVITY SELECTION
- #include<stdio.h>
- typedef struct activities
- {
- char name;
- int start;
- int end;
- } activity;
- void activity_selection(activity* ptr, int size)
- {
- int i, j;
- activity temp;
- for(i = 0; i < size; i++)
- for(j = 0; j < size - 1; j++)
- if(ptr[j].end > ptr[j + 1].end)
- {
- temp = ptr[j];
- ptr[j] = ptr[j + 1];
- ptr[j + 1] = temp;
- }
- printf("\n--> Selected Activies <--");
- printf("\n%c %d %d", ptr[0].name, ptr[0].start, ptr[0].end);
- j = 0;
- for(i = 1; i < size; i++)
- if(ptr[i].start >= ptr[j].end)
- {
- printf("\n%c %d %d", ptr[i].name, ptr[i].start, ptr[i].end);
- j = i;
- }
- }
- int main()
- {
- int n, i;
- printf("Please enter number of activities to be handled: ");
- scanf("%d", &n);
- activity candidates[n];
- printf("\nPlese enter the activity name, start and end time respectively: ");
- for(i = 0; i < n; i++)
- scanf(" %c %d %d", &candidates[i].name, &candidates[i].start, &candidates[i].end);
- printf("\nYou have entered the following details.");
- for(i = 0; i < n; i++)
- printf("\n%c %d %d", candidates[i].name, candidates[i].start, candidates[i].end);
- activity_selection(candidates, n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement