Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions composition.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class Salary:
def __init__(self,pay,bonus):
self.pay=pay
self.bonus=bonus
def annual(self):
return (self.pay*12)+self.bonus

class employee:
def __init__(self,name,age,pay,bonus):
self.name=name
self.age=age
self.pay=pay
self.bonus=bonus
self.obj_salary=Salary(pay,bonus)

def total_salary(self):
return self.obj_salary.annual()

emp=employee('ajay',12,1,1)

print(emp.total_salary())
77 changes: 77 additions & 0 deletions fractional_knapsack.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
// C/C++ program to solve fractional Knapsack Problem
#include <bits/stdc++.h>

using namespace std;

// Structure for an item which stores weight and corresponding
// value of Item
struct Item
{
int value, weight;

// Constructor
Item(int value, int weight) : value(value), weight(weight)
{}
};

// Comparison function to sort Item according to val/weight ratio
bool cmp(struct Item a, struct Item b)
{
double r1 = (double)a.value / a.weight;
double r2 = (double)b.value / b.weight;
return r1 > r2;
}

// Main greedy function to solve problem
double fractionalKnapsack(int W, struct Item arr[], int n)
{
// sorting Item on basis of ratio
sort(arr, arr + n, cmp);

// Uncomment to see new order of Items with their ratio
/*
for (int i = 0; i < n; i++)
{
cout << arr[i].value << " " << arr[i].weight << " : "
<< ((double)arr[i].value / arr[i].weight) << endl;
}
*/

int curWeight = 0; // Current weight in knapsack
double finalvalue = 0.0; // Result (value in Knapsack)

// Looping through all Items
for (int i = 0; i < n; i++)
{
// If adding Item won't overflow, add it completely
if (curWeight + arr[i].weight <= W)
{
curWeight += arr[i].weight;
finalvalue += arr[i].value;
}

// If we can't add current Item, add fractional part of it
else
{
int remain = W - curWeight;
finalvalue += arr[i].value * ((double) remain / arr[i].weight);
break;
}
}

// Returning final value
return finalvalue;
}

// driver program to test above function
int main()
{
int W = 50; // Weight of knapsack
Item arr[] = {{60, 10}, {100, 20}, {120, 30}};

int n = sizeof(arr) / sizeof(arr[0]);

cout << "Maximum value we can obtain = "
<< fractionalKnapsack(W, arr, n);
return 0;
}
17 changes: 17 additions & 0 deletions operator_overloading.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import math

class circle:
def __init__(self,radius):
self.radius=radius
def set_radius(self):
self.radius=radius
def get_radius(self):
return self.radius
def __add__(self,circle_obj,c3):
return (self.radius+circle_obj.radius+c3.radius)

c1=circle(2)
c2=circle(3)
c3=circle(4)

print(c1+c2+c3)