Knapsack Problem program using Greedy Solution daa lab in C lang - Paper Presentations e-Books free

May 15, 2020

Knapsack Problem program using Greedy Solution daa lab in C lang

DAA subject lab programs Knapsack Problem using Greedy Solution c program, Knapsack Problem using Greedy Solution Daa lab programs, Program to perform Knapsack Problem using Greedy Solution using C lang

#include<stdio.h>
#include<conio.h>
void knapsack(int n, float weight[], float profit[], float capacity) {
    float x[20], tp = 0;
    int i, j, u;
    u = capacity;
    for (i = 0; i < n; i++)
        x[i] = 0.0;
    for (i = 0; i < n; i++) {
        if (weight[i] > u)
            break;
        else {
            x[i] = 1.0;
            tp = tp + profit[i];
            u = u - weight[i];
        }
    }
    if (i < n)
        x[i] = u / weight[i];
    tp = tp + (x[i] * profit[i]);
    printf("\nThe result vector is:- ");
    for (i = 0; i < n; i++)
        printf("%f\t", x[i]);
    printf("\nMaximum profit is:- %f", tp);
}
void main() {
    clrscr();
    float weight[20], profit[20], capacity;
    int num, i, j;
    float ratio[20], temp;
    printf("\nEnter the no. of objects:- ");
    scanf("%d", & num);
    printf("\nEnter the weights and profits of each object:- ");
    for (i = 0; i < num; i++) {
        scanf("%f %f", & weight[i], & profit[i]);
    }
    printf("\nEnter the capacity of knapsack:- ");
    scanf("%f", & capacity);
    for (i = 0; i < num; i++) {
        ratio[i] = profit[i] / weight[i];
    }
    for (i = 0; i < num; i++) {
        for (j = i + 1; j < num; j++) {
            if (ratio[i] < ratio[j]) {
                temp = ratio[j];
                ratio[j] = ratio[i];
                ratio[i] = temp;
                temp = weight[j];
                weight[j] = weight[i];
                weight[i] = temp;
                temp = profit[j];
                profit[j] = profit[i];
                profit[i] = temp;
            }
        }
    }
    knapsack(num, weight, profit, capacity);
    getch();
}

OUTPUT
www.jntuhelp.com

No comments:

Post a Comment