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