From 039232ba8fce4035e666716e04b132b037049fa6 Mon Sep 17 00:00:00 2001
From: aristidecod <sie.ouattara@etu.univ-amu.fr>
Date: Tue, 21 Jan 2025 23:19:09 +0100
Subject: [PATCH] correction de la fonctionFractionnelle

---
 out/production/aroTP2/App.class  | Bin 1265 -> 1436 bytes
 out/production/aroTP2/Loot.class | Bin 1160 -> 1160 bytes
 src/App.java                     |   3 ++-
 src/Backpack.java                |  16 ++++++++++++----
 src/Loot.java                    |   2 +-
 5 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/out/production/aroTP2/App.class b/out/production/aroTP2/App.class
index 8d3c8e862e7d1d8ac1daac52964bbb7ec3329713..199c96065198da6f5c1ee0f956da5d49a812a0b5 100644
GIT binary patch
delta 552
zcmey!Ift9;)W2Q(7#J9w7$P=u2{Y=*Gbpe#DDp5UF(@-K2xKLeCF<uS=B4WgmlS2@
zr86?HmnG(uruwHbGN@@x&SI9Uhe%ipF)%Qw@-V0|s53H%=O$*SI_KvlCzga~mSi~R
z=M|SE=9LtK^!T6~X|0JV#KoY=pvBIh&BLI>pv%Z04AzsGuOCp9nO72AQk0sQ%gDf9
z0OCzvz$m4`#URL_&%<EAV93b8ot|0}oE8RhWhx^BvxcUp5CbEFG015qlVcernAsW3
zChuij&ge2ZmC2dclaYa~I5AnlijjlCd-6&qc|Kn*20sRWc7_0umcYr^m@YGhOkTyT
z#S+HIAUAm}vs?xv1Dj8Nes*aAgCc_|0}}%XFflMPurjbQFfy1kFfiydFfuSQFfg!c
zZD(NI$iTqB#9+a|0G4K8U}msnU|`^ZC}6N+ux4Oj;AF62uw`HZYp!8n0vl>FIgUkA
zeFuZwE(R3_hHVTQn;0atw=wALVlV=85#~xUuubk~5e+wH-~yX12GP%8$6(LEz`)C(
z&fvh{$iT?p#K6G7!obMj%)rdx3U-wngF6EQ10MqugAW5Eg9n)OVhCbjVBlh4WC&&m
JWe8`G1ORp%X50V(

delta 364
zcmbQk{gIRF)W2Q(7#J9w7<@N!2{Wn*GRX5VC@?58GH|D-mISATCFYc-rZO@xYiN23
zF)%PF^Dw9|s7|h6lu;Jd@YM9lN-Rs%&q>Tn*AFf!%FIi*=3-E1&|qiK<YCZa(4KsP
z(Sn(sL3gq<({e`Z$*-B58675DGt2WiaWObExUe(0f{b&UoWXpV(Q~p5ix!JFBZJ&z
zdltFL9V|RCIt)w<Ai%`H$iT|L#=yv+$H2g#&%nsQ$iTqBs<oYgaU%l*0~3Qj0|Qu^
zfq|L9fPsO52cm$%kim$7fq|33n8AdB39LDjfeCD=>f{eBk`mh(<aRMAF)(anP(v6b
z#=tt+fK}8NWRMs{F@q_C83O|YFM|YwIfDfQBZDOa0|N^KBZCzKGlLD-3APM&3=9k$
c42%qp42%r+4DJjJ3|tJ13?2+#3_c8!04xVHLjV8(

diff --git a/out/production/aroTP2/Loot.class b/out/production/aroTP2/Loot.class
index 4ffba3f58d9594f16f64fe6527d3748ef90eb0fc..5980ee7339fd55f258d0b9244ea844ecc3f583c3 100644
GIT binary patch
delta 16
XcmeC+?BLuWz|1VuCcRmhxs(wABoG7T

delta 16
XcmeC+?BLuWz|1V&CbL<Xxs(wABn|`R

diff --git a/src/App.java b/src/App.java
index a70ffd2..81b8433 100644
--- a/src/App.java
+++ b/src/App.java
@@ -5,6 +5,7 @@ public class App {
        Backpack backpack= new InstanceReader().read("src/sacTest");
        backpack.sortByRatio();
        backpack.solutionFractionnelle();
-       System.out.println("solution fractionnelle :" + backpack.getSfValuee());
+        System.out.println("sac :" + backpack);
+        System.out.println("solution fractionnelle :" + backpack.getSfValuee());
     }
 }
diff --git a/src/Backpack.java b/src/Backpack.java
index b8552f0..aadadba 100644
--- a/src/Backpack.java
+++ b/src/Backpack.java
@@ -27,13 +27,21 @@ public class Backpack {
         this.sortByRatio();
 
         for(Loot loot : loots){
-            if(loot.getWeight() > this.capacity){
-                sfValuee += (loot.getValue() * loot.getWeight()) / (capacity - sfWeight);
+            if(loot.getWeight() > (capacity - sfWeight)){
+                System.out.println("value :"+loot.getValue());
+                System.out.println("value1 :"+loot.getWeight());
+                System.out.println("value2 :"+(capacity - sfWeight));
+                System.out.println("value1 :"+sfValuee);
+                sfValuee += (loot.getValue() * (capacity - sfWeight)) / loot.getWeight();
                 sfWeight += capacity - sfWeight;
+                System.out.println("frac :"+sfValuee);
+                System.out.println("frac :"+sfWeight);
             }
-            else {
-                sfValuee += loot.getWeight();
+            else if (sfWeight < capacity){
+                sfValuee += loot.getValue();
                 sfWeight += loot.getWeight();
+                System.out.println("no frac :"+sfValuee);
+                System.out.println("no frac :"+sfWeight);
             }
         }
     }
diff --git a/src/Loot.java b/src/Loot.java
index e2a85e0..d7dc032 100644
--- a/src/Loot.java
+++ b/src/Loot.java
@@ -5,7 +5,7 @@ public class Loot {
     public Loot(int weight, int value) {
         this.weight = weight;
         this.value = value;
-        this.ratio = (float) weight/value;
+        this.ratio = (float) value/weight;
     }
 
     public String toString(){
-- 
GitLab