summaryrefslogtreecommitdiffstats
path: root/2023-2/E1
diff options
context:
space:
mode:
Diffstat (limited to '2023-2/E1')
-rw-r--r--2023-2/E1/mitsuo/p1/PruebaPedidos.txt1130
-rw-r--r--2023-2/E1/mitsuo/p1/fun.cpp236
-rw-r--r--2023-2/E1/mitsuo/p1/fun.hpp23
-rw-r--r--2023-2/E1/mitsuo/p1/main.cpp5
-rw-r--r--2023-2/E1/mitsuo/p2/PruebaProductos.txt168
-rw-r--r--2023-2/E1/mitsuo/p2/fun.cpp186
-rw-r--r--2023-2/E1/mitsuo/p2/fun.hpp16
-rw-r--r--2023-2/E1/mitsuo/p2/main.cpp3
8 files changed, 953 insertions, 814 deletions
diff --git a/2023-2/E1/mitsuo/p1/PruebaPedidos.txt b/2023-2/E1/mitsuo/p1/PruebaPedidos.txt
index 9a019f8..e526324 100644
--- a/2023-2/E1/mitsuo/p1/PruebaPedidos.txt
+++ b/2023-2/E1/mitsuo/p1/PruebaPedidos.txt
@@ -1,566 +1,564 @@
- REPORTE DE PRUEBA DE PEDIDOS
-==========================================================
- FECHA DNI CANTIDAD CODIGO PRODUCTO
-21/08/2023 90365520 1 OPJ-039
-21/08/2023 77191257 5 BWD-036
-21/08/2023 69639726 3 OPT-996
-21/08/2023 11602775 4 CIM-038
-21/08/2023 32565207 6 ZWF-661
-21/08/2023 49087435 2 VDD-853
-21/08/2023 49087435 1 PJG-338
-21/08/2023 45877001 4 VVS-017
-21/08/2023 79140840 5 TMN-884
-21/08/2023 98140264 4 QHC-492
-21/08/2023 91897732 1 WLL-607
-21/08/2023 90365520 6 KWP-672
-21/08/2023 71984468 5 JJN-837
-21/08/2023 49087435 1 SJQ-827
-21/08/2023 15210391 1 HFM-021
-21/08/2023 17913944 4 IHG-413
-21/08/2023 17972674 1 UTN-601
-21/08/2023 90237332 5 PVZ-181
-21/08/2023 49087435 6 XZR-640
-21/08/2023 37110873 2 UWA-476
-21/08/2023 25171011 1 VCL-867
-21/08/2023 85949265 6 TMJ-043
-21/08/2023 85949265 2 YUQ-590
-21/08/2023 26233063 2 ZAF-449
-21/08/2023 43043986 3 TXM-139
-21/08/2023 29337157 3 ZEX-027
-21/08/2023 38913831 3 JFC-432
-21/08/2023 83505958 3 EJW-346
-21/08/2023 11602775 6 TMJ-043
-21/08/2023 45783712 3 QFR-958
-21/08/2023 17913944 5 YJD-279
-21/08/2023 81114108 4 VRR-793
-21/08/2023 81114108 5 DUG-251
-21/08/2023 55552996 1 FQG-293
-21/08/2023 50365593 1 TZY-323
-21/08/2023 57690875 5 CSZ-863
-21/08/2023 32904023 3 SAM-013
-21/08/2023 40348917 3 WZD-331
-21/08/2023 40112594 3 EBI-299
-21/08/2023 40348917 2 FLJ-040
-21/08/2023 44229880 5 HLR-109
-21/08/2023 62566305 4 TYF-885
-21/08/2023 58187172 2 VXS-438
-21/08/2023 71463316 6 QFP-254
-21/08/2023 15561764 4 RAH-420
-21/08/2023 89429489 1 VXS-438
-21/08/2023 95161027 5 TZY-323
-22/08/2023 77484838 6 YUQ-590
-22/08/2023 32821689 1 ISU-815
-22/08/2023 27912250 4 LWG-915
-22/08/2023 26290971 5 TZY-323
-22/08/2023 73535476 3 CIM-038
-22/08/2023 15210391 5 RSE-049
-22/08/2023 35584593 1 KCO-488
-22/08/2023 25171011 6 OPT-996
-22/08/2023 78078115 3 TMJ-043
-22/08/2023 78757121 4 ZXK-295
-22/08/2023 38913831 1 YZD-580
-22/08/2023 94080926 5 OTW-288
-22/08/2023 87800799 1 QRC-609
-22/08/2023 77191257 6 AVM-258
-22/08/2023 66409237 5 ICX-503
-22/08/2023 52097922 2 MMA-577
-22/08/2023 78078115 2 DFF-034
-22/08/2023 76388967 6 RSE-049
-22/08/2023 64394265 6 YYK-309
-22/08/2023 84165595 4 QHC-492
-22/08/2023 77484838 4 BTO-226
-22/08/2023 78757121 3 OQI-373
-22/08/2023 71984468 2 PQH-935
-22/08/2023 93845419 2 NSR-955
-22/08/2023 43488351 5 XLF-273
-22/08/2023 80048864 3 BWD-036
-22/08/2023 36008913 6 HFC-845
-22/08/2023 78078115 5 XZR-640
-22/08/2023 89298238 3 QTK-083
-22/08/2023 37110873 2 GXF-122
-22/08/2023 86241107 3 HFC-845
-22/08/2023 27912250 1 LWG-915
-22/08/2023 15561764 6 JYQ-045
-22/08/2023 20864087 1 SPR-580
-22/08/2023 16151792 3 WZD-331
-22/08/2023 95161027 2 VJI-529
-23/08/2023 43488351 6 QTK-083
-23/08/2023 81114108 3 OFS-384
-23/08/2023 87813843 6 LDR-510
-23/08/2023 93160528 5 BRD-969
-23/08/2023 50365593 6 ZVA-180
-23/08/2023 12663268 5 QFP-254
-23/08/2023 81114108 4 BCN-855
-23/08/2023 29337157 6 QHC-492
-23/08/2023 78078115 2 PJG-338
-23/08/2023 93160528 3 QTK-083
-23/08/2023 79372768 1 SAM-013
-23/08/2023 31193794 1 JDC-028
-23/08/2023 55552996 1 AQS-362
-23/08/2023 76388967 6 CNQ-172
-23/08/2023 89298238 2 PFD-286
-23/08/2023 22280452 5 VRR-793
-23/08/2023 79464412 6 MTF-868
-23/08/2023 23928045 2 LWG-915
-23/08/2023 89148118 6 TKM-141
-23/08/2023 89298238 1 YOT-530
-23/08/2023 77642521 2 YYU-726
-23/08/2023 89429489 1 QUU-384
-23/08/2023 83236386 1 OFS-384
-23/08/2023 73185299 5 QFP-254
-23/08/2023 69324480 3 VXS-438
-23/08/2023 78922174 2 XBD-314
-23/08/2023 64394265 5 OTW-288
-23/08/2023 90237332 4 PFD-286
-24/08/2023 50375303 6 JXD-139
-24/08/2023 45783712 1 VZV-827
-24/08/2023 79464412 4 JXD-139
-24/08/2023 26290971 3 TYF-885
-24/08/2023 35565959 5 VJI-529
-24/08/2023 50365593 3 VVS-017
-24/08/2023 25171011 3 QRC-609
-24/08/2023 26976877 5 AFL-718
-24/08/2023 79901434 2 OXP-732
-24/08/2023 43877279 4 SSD-176
-24/08/2023 88956889 1 TMN-884
-24/08/2023 87800799 5 JDC-028
-24/08/2023 97403853 5 BCK-361
-24/08/2023 73914283 4 OBI-353
-24/08/2023 59162728 4 FEG-454
-24/08/2023 45877001 5 RDT-761
-24/08/2023 15210391 3 OTW-288
-24/08/2023 54761731 5 FVB-607
-24/08/2023 95015539 2 CSZ-863
-24/08/2023 33713901 6 ZVA-180
-24/08/2023 89148118 5 JFC-432
-24/08/2023 46462527 6 ISU-815
-24/08/2023 45828535 2 AVM-258
-24/08/2023 42928709 6 GLC-370
-24/08/2023 78078115 1 SSD-176
-24/08/2023 13245501 1 AWB-345
-24/08/2023 11602775 2 JJN-837
-24/08/2023 86402303 3 OQI-373
-24/08/2023 12663268 3 AHB-459
-24/08/2023 24995742 4 KCO-488
-24/08/2023 36380447 5 OWN-701
-24/08/2023 85949265 6 LDR-510
-25/08/2023 96258632 5 EBI-299
-25/08/2023 87800799 2 EUZ-452
-25/08/2023 71378466 1 OQI-373
-25/08/2023 87800799 2 KWP-672
-25/08/2023 88995291 2 HLR-109
-25/08/2023 52097922 5 GBD-525
-25/08/2023 35565959 4 CIM-038
-25/08/2023 67418025 1 QUU-384
-25/08/2023 95751208 3 BWD-036
-25/08/2023 26976877 2 JXD-139
-25/08/2023 77642521 5 QUU-384
-25/08/2023 79140840 2 TYF-885
-25/08/2023 57263719 5 YOT-530
-25/08/2023 62324793 5 YJD-279
-25/08/2023 93845419 5 AWB-345
-25/08/2023 87800799 2 ICX-503
-25/08/2023 19829266 2 UXG-019
-25/08/2023 57263719 6 TZY-323
-25/08/2023 93160528 2 DUG-251
-25/08/2023 79901434 3 AHB-459
-25/08/2023 50375303 2 SJQ-827
-25/08/2023 32821689 5 MMA-577
-25/08/2023 42798099 6 RDT-761
-25/08/2023 11602775 4 XLF-273
-25/08/2023 49087435 1 AFL-718
-25/08/2023 73786035 1 AQS-362
-25/08/2023 45783712 5 SNY-500
-25/08/2023 16151792 1 CNQ-172
-25/08/2023 62566305 4 DIQ-718
-25/08/2023 13245501 1 ZWF-661
-25/08/2023 40348917 4 SNY-500
-25/08/2023 73535476 2 LDR-510
-25/08/2023 83236386 2 MTF-868
-25/08/2023 58187172 6 KBY-991
-25/08/2023 77484838 3 YGV-332
-26/08/2023 26976877 3 XZG-521
-26/08/2023 54761731 3 DEV-433
-26/08/2023 27912250 1 ICX-503
-26/08/2023 42157219 6 KWP-672
-26/08/2023 24995742 1 BWD-036
-26/08/2023 54761731 1 VZV-827
-26/08/2023 38637282 6 FLJ-040
-26/08/2023 29337157 4 WZD-331
-26/08/2023 78922174 5 AFL-718
-26/08/2023 90365520 6 EUZ-452
-26/08/2023 11602775 1 JJN-837
-26/08/2023 73535476 4 KJX-387
-26/08/2023 86828079 3 MQR-442
-26/08/2023 13245501 6 HFC-845
-26/08/2023 57690875 4 XLF-273
-26/08/2023 77191257 3 TZY-323
-26/08/2023 79475585 5 BWD-036
-26/08/2023 49087435 3 BCK-361
-26/08/2023 54761731 4 ZVA-180
-26/08/2023 27912250 3 FLJ-040
-26/08/2023 78757121 1 GXF-122
-26/08/2023 42157219 6 III-576
-26/08/2023 71378466 4 BIT-434
-26/08/2023 32904023 1 KQQ-136
-26/08/2023 83505958 1 MQR-442
-26/08/2023 99842319 1 ZAF-449
-26/08/2023 59407188 5 RDT-761
-26/08/2023 57263719 5 ZWF-661
-26/08/2023 95161027 5 VVS-017
-26/08/2023 45828535 6 QJO-060
-26/08/2023 78757121 4 ARS-231
-26/08/2023 81114108 1 VCL-867
-26/08/2023 77484838 1 AFL-718
-26/08/2023 31611146 1 XSD-310
-26/08/2023 17972674 4 UWA-476
-26/08/2023 40348917 3 VRR-793
-26/08/2023 94080926 2 CIM-038
-26/08/2023 83236386 2 OPT-996
-26/08/2023 86402303 3 OQI-373
-26/08/2023 79901434 2 TXM-139
-27/08/2023 91897732 2 OXP-732
-27/08/2023 45877001 5 GBJ-693
-27/08/2023 78078115 2 XOA-735
-27/08/2023 86828079 1 YGV-332
-27/08/2023 73185299 3 QUU-384
-27/08/2023 96659352 6 KQA-580
-27/08/2023 43053402 2 YOT-530
-27/08/2023 55552996 6 SSD-176
-27/08/2023 26976877 3 KQQ-136
-27/08/2023 40112594 6 KSO-608
-27/08/2023 79140840 1 HLR-109
-27/08/2023 41036366 2 AQS-362
-27/08/2023 66409237 4 CRU-009
-27/08/2023 90237332 1 OQI-373
-27/08/2023 78922174 3 OQI-373
-27/08/2023 79140840 3 DFF-034
-27/08/2023 43877279 4 SNY-500
-27/08/2023 11602775 3 YYK-309
-27/08/2023 54716824 6 CRU-009
-27/08/2023 38637282 1 OFS-384
-27/08/2023 87813843 4 MLE-193
-27/08/2023 15561764 2 FYF-898
-27/08/2023 73914283 1 OBI-353
-27/08/2023 12663268 6 XSD-310
-27/08/2023 17913944 4 XLF-273
-27/08/2023 26233063 4 JFC-432
-27/08/2023 38913831 3 FLW-631
-27/08/2023 32565207 4 UXG-019
-27/08/2023 57263719 2 OTH-462
-27/08/2023 89863424 4 SSE-115
-27/08/2023 67418025 5 EVN-510
-27/08/2023 26976877 4 YUQ-590
-27/08/2023 57690875 6 XTE-383
-27/08/2023 84165595 3 JFC-432
-27/08/2023 63437380 2 PJG-338
-27/08/2023 22777006 2 XLF-273
-27/08/2023 52097922 5 ISU-815
-27/08/2023 13245501 5 JCW-489
-27/08/2023 22777006 3 YYK-309
-27/08/2023 95751208 4 BRD-969
-27/08/2023 63437380 5 YEZ-591
-27/08/2023 37110873 5 YZD-580
-27/08/2023 25171011 1 CIM-038
-27/08/2023 60574154 6 III-576
-27/08/2023 78757121 4 KJX-387
-28/08/2023 45828535 6 TZY-323
-28/08/2023 57263719 3 BWD-036
-28/08/2023 23928045 3 OXP-732
-28/08/2023 73786035 4 DEN-125
-28/08/2023 79464412 5 CJE-310
-28/08/2023 35584593 4 AVM-258
-28/08/2023 94080926 5 NMV-644
-28/08/2023 85871751 2 MYC-756
-28/08/2023 57690875 3 CIM-038
-28/08/2023 43043986 5 QFP-254
-28/08/2023 44679500 1 AWB-345
-28/08/2023 32565207 5 FVQ-662
-28/08/2023 69975105 6 HFM-021
-28/08/2023 89298238 2 QFP-254
-28/08/2023 43053402 6 FVQ-662
-28/08/2023 71463316 4 BCN-855
-28/08/2023 89148118 5 XLF-273
-28/08/2023 95161027 1 OQI-373
-28/08/2023 78922174 5 TKM-141
-28/08/2023 43877279 5 QUU-384
-28/08/2023 40112594 2 BCK-361
-28/08/2023 66409237 4 UXG-019
-28/08/2023 79372768 6 QVJ-982
-28/08/2023 24995742 3 YMU-875
-28/08/2023 80048864 3 BCK-361
-28/08/2023 71463316 3 UWA-476
-28/08/2023 59407188 6 BIT-434
-28/08/2023 71378466 6 ARS-231
-28/08/2023 77484838 1 UWA-476
-28/08/2023 17972674 1 ZWF-661
-28/08/2023 89863424 6 OTH-462
-28/08/2023 26976877 4 SSE-115
-28/08/2023 42157219 2 KCO-488
-28/08/2023 42157219 5 OTS-581
-28/08/2023 35565959 2 DFJ-952
-28/08/2023 42928709 5 NSM-283
-28/08/2023 32904023 3 KJX-387
-28/08/2023 26233063 3 KSO-608
-28/08/2023 79475585 6 KQQ-136
-28/08/2023 80048864 1 PPX-620
-28/08/2023 76388967 5 SJQ-827
-28/08/2023 86241107 2 CIM-038
-28/08/2023 60574154 5 KDA-627
-28/08/2023 62324793 2 OPJ-039
-29/08/2023 16552775 5 CNN-411
-29/08/2023 69639726 1 DON-719
-29/08/2023 16151792 1 AQS-362
-29/08/2023 44229880 3 SNY-500
-29/08/2023 53166028 3 ONB-903
-29/08/2023 71463316 5 KCO-488
-29/08/2023 87800799 2 WZD-331
-29/08/2023 31193794 5 BXY-119
-29/08/2023 98140264 2 DFF-034
-29/08/2023 43053402 2 VRR-793
-29/08/2023 20864087 5 YUQ-590
-29/08/2023 87800799 3 BTO-226
-29/08/2023 45828535 5 YMU-875
-29/08/2023 53166028 1 QHC-492
-29/08/2023 55552996 1 SJD-818
-29/08/2023 95161027 4 FQG-293
-29/08/2023 25171011 3 VCL-867
-29/08/2023 71463316 6 EBI-299
-29/08/2023 45877001 2 PJG-338
-29/08/2023 77642521 5 DFJ-952
-29/08/2023 88956889 6 HFM-021
-29/08/2023 86241107 2 FEG-454
-29/08/2023 81114108 2 RBE-789
-29/08/2023 52097922 2 OWN-701
-29/08/2023 77484838 3 UDR-957
-29/08/2023 62324793 1 FQG-293
-29/08/2023 71378466 3 XSD-310
-29/08/2023 29847168 1 BCK-361
-29/08/2023 46462527 3 KWP-672
-29/08/2023 79464412 2 NSM-283
-29/08/2023 76388967 5 EBI-299
-30/08/2023 83505958 5 TYF-885
-30/08/2023 42928709 4 QIL-029
-30/08/2023 15210391 2 DON-719
-30/08/2023 69975105 6 WZD-331
-30/08/2023 89429489 6 VCL-867
-30/08/2023 32821689 3 ONB-903
-30/08/2023 62566305 5 GXF-122
-30/08/2023 62324793 5 XBD-314
-30/08/2023 35565959 5 JXD-139
-30/08/2023 32565207 4 TKM-141
-30/08/2023 89863424 3 QRC-609
-30/08/2023 97403853 4 GBJ-693
-30/08/2023 96659352 3 KQQ-136
-30/08/2023 79140840 1 OTH-462
-30/08/2023 23928045 5 TKM-141
-30/08/2023 48184351 2 KQA-580
-30/08/2023 45877001 6 KBY-991
-30/08/2023 73185299 3 AVM-258
-30/08/2023 26290971 3 GKG-558
-30/08/2023 85949265 5 VRR-793
-30/08/2023 97403853 6 KQQ-136
-30/08/2023 86402303 6 RBE-789
-30/08/2023 96258632 2 QHC-492
-30/08/2023 63437380 4 AWB-345
-30/08/2023 87800799 6 GBD-525
-30/08/2023 15210391 2 AQS-362
-30/08/2023 19829266 3 TXM-139
-30/08/2023 50365593 5 AFL-718
-31/08/2023 90237332 3 QFP-254
-31/08/2023 42798099 6 CNN-411
-31/08/2023 81114108 5 DFF-034
-31/08/2023 90365520 6 KBY-991
-31/08/2023 35584593 4 SSD-176
-31/08/2023 97403853 3 YJD-279
-31/08/2023 46462527 6 LWG-915
-31/08/2023 93845419 6 QIL-029
-31/08/2023 73185299 3 OTH-462
-31/08/2023 87800799 2 VRR-793
-31/08/2023 64394265 5 OFS-384
-31/08/2023 45828535 4 XSD-310
-31/08/2023 69975105 6 TMJ-043
-31/08/2023 86402303 6 HFM-021
-31/08/2023 87813843 1 OQI-373
-31/08/2023 54716824 1 UDR-957
-31/08/2023 37110873 4 VDD-853
-31/08/2023 25171011 6 AWB-345
-31/08/2023 67418025 2 FEG-454
-31/08/2023 22777006 1 FCN-617
-31/08/2023 48467976 5 JDQ-505
-31/08/2023 71463316 4 AWT-354
-31/08/2023 37110873 4 QUU-384
-31/08/2023 89148118 6 EBI-299
-31/08/2023 45783712 2 YUQ-590
-31/08/2023 13245501 2 QIL-029
-31/08/2023 54716824 6 ZEX-027
-31/08/2023 62324793 1 LDR-510
-01/09/2023 84165595 6 HFM-021
-01/09/2023 86241107 2 UXG-019
-01/09/2023 79420973 5 SSE-115
-01/09/2023 13245501 3 VXS-438
-01/09/2023 73185299 3 QHC-492
-01/09/2023 43043986 5 SSD-176
-01/09/2023 22280452 3 UCX-285
-01/09/2023 77191257 6 ZEX-027
-01/09/2023 78922174 3 XBD-314
-01/09/2023 49087435 2 III-576
-01/09/2023 42798099 5 TMN-884
-01/09/2023 17913944 1 DEN-125
-01/09/2023 78078115 4 FQG-293
-01/09/2023 96659352 4 ADX-669
-01/09/2023 93160528 1 YYU-726
-01/09/2023 77191257 5 QVJ-982
-01/09/2023 31611146 4 FVQ-662
-01/09/2023 89298238 4 UJV-290
-01/09/2023 28390487 2 GLC-370
-01/09/2023 89148118 1 AFL-718
-01/09/2023 71984468 1 TZY-323
-01/09/2023 40348917 1 BMJ-772
-01/09/2023 32904023 4 DUG-251
-01/09/2023 19829266 3 RDT-761
-01/09/2023 16151792 6 IDO-503
-01/09/2023 87813843 3 XSD-310
-01/09/2023 41036366 4 QVJ-982
-01/09/2023 43488351 6 DIQ-718
-01/09/2023 91897732 5 XZR-640
-01/09/2023 83236386 5 UJV-290
-01/09/2023 79140840 4 JXD-139
-01/09/2023 84165595 1 DFJ-952
-01/09/2023 35565959 1 BZS-261
-01/09/2023 50365593 3 LWG-915
-02/09/2023 88956889 6 UWA-476
-02/09/2023 79372768 4 GLC-370
-02/09/2023 89863424 1 FVB-607
-02/09/2023 15210391 4 VXS-438
-02/09/2023 32821689 5 MTF-868
-02/09/2023 98140264 3 CJE-310
-02/09/2023 13245501 5 BXY-119
-02/09/2023 94080926 5 TXM-139
-02/09/2023 59407188 3 LYZ-614
-02/09/2023 15210391 3 TZY-323
-02/09/2023 84165595 6 RDT-761
-02/09/2023 20864087 6 JDQ-505
-02/09/2023 89429489 3 BXY-119
-02/09/2023 88956889 4 MYC-756
-02/09/2023 41036366 4 SJD-818
-02/09/2023 24995742 3 DON-719
-02/09/2023 69324480 1 DIQ-718
-02/09/2023 37110873 1 SSD-176
-02/09/2023 50375303 1 AFL-718
-02/09/2023 32904023 4 QFP-254
-02/09/2023 55552996 1 QTK-083
-02/09/2023 90237332 3 TKM-141
-02/09/2023 90365520 5 VDD-853
-02/09/2023 33397650 6 VJI-529
-02/09/2023 50365593 6 TMN-884
-02/09/2023 79420973 3 GXF-122
-02/09/2023 50365593 6 JDC-028
-02/09/2023 33713901 2 UWA-476
-02/09/2023 79372768 5 EUZ-452
-02/09/2023 43053402 6 MMA-577
-02/09/2023 66409237 6 AWT-354
-02/09/2023 95161027 5 III-576
-02/09/2023 53166028 3 TXM-139
-02/09/2023 78922174 6 EJW-346
-02/09/2023 78078115 5 DFJ-952
-02/09/2023 20864087 1 JFC-432
-02/09/2023 45783712 6 SSD-176
-02/09/2023 77191257 2 KWP-672
-02/09/2023 29337157 4 HFM-021
-02/09/2023 79901434 6 OBI-353
-02/09/2023 57263719 4 DOV-560
-02/09/2023 98140264 1 BRD-969
-02/09/2023 40348917 2 DFJ-952
-02/09/2023 86828079 5 QIL-029
-02/09/2023 79140840 5 QRC-609
-02/09/2023 89298238 4 YOT-530
-02/09/2023 20864087 4 BXY-119
-02/09/2023 66409237 4 DFF-034
-02/09/2023 42928709 5 OQI-373
-03/09/2023 71378466 2 FVQ-662
-03/09/2023 99842319 2 DUG-251
-03/09/2023 26290971 3 PVZ-181
-03/09/2023 79901434 5 CSZ-863
-03/09/2023 40112594 4 FVQ-662
-03/09/2023 16552775 6 AWB-345
-03/09/2023 23928045 2 TMN-884
-03/09/2023 69324480 3 UOD-420
-03/09/2023 33713901 1 VVS-017
-03/09/2023 43043986 1 ZEX-027
-03/09/2023 16151792 1 AQS-362
-03/09/2023 73535476 5 UWA-476
-03/09/2023 62566305 1 AVM-258
-03/09/2023 57263719 5 OTH-462
-03/09/2023 52097922 6 XSD-310
-03/09/2023 96258632 2 CRU-009
-03/09/2023 89429489 1 UXG-019
-03/09/2023 50375303 5 CRU-009
-03/09/2023 52097922 2 UTN-601
-03/09/2023 73535476 4 FLJ-040
-03/09/2023 12663268 4 YYU-726
-03/09/2023 96659352 3 GBJ-693
-03/09/2023 37110873 6 FCN-617
-03/09/2023 52097922 4 XZG-521
-03/09/2023 42798099 2 OQI-373
-03/09/2023 54761731 5 OTS-581
-03/09/2023 26976877 4 VTV-269
-03/09/2023 79901434 2 ZEX-027
-03/09/2023 95751208 4 UOD-420
-03/09/2023 15561764 2 GBJ-693
-03/09/2023 32904023 6 RBE-789
-03/09/2023 59407188 1 OWN-701
-04/09/2023 85949265 4 JFC-432
-04/09/2023 38913831 3 BCN-855
-04/09/2023 45783712 4 YMU-875
-04/09/2023 50375303 4 VXS-438
-04/09/2023 88995291 3 MTF-868
-04/09/2023 26233063 1 UWA-476
-04/09/2023 44229880 4 JXD-139
-04/09/2023 36380447 2 HLR-109
-04/09/2023 12663268 3 RAH-420
-04/09/2023 91897732 2 PFD-286
-04/09/2023 31611146 4 YOT-530
-04/09/2023 42928709 4 XLF-273
-04/09/2023 50375303 5 KQA-580
-04/09/2023 69975105 5 FQG-293
-04/09/2023 50375303 5 YJD-279
-04/09/2023 76388967 6 PFD-286
-04/09/2023 48184351 1 TXM-139
-04/09/2023 33397650 3 IHG-413
-04/09/2023 25171011 4 DFJ-952
-04/09/2023 91897732 2 TMN-884
-04/09/2023 66409237 3 BRD-969
-04/09/2023 77191257 4 ZWF-661
-04/09/2023 32565207 6 IDO-503
-04/09/2023 63437380 5 III-576
-04/09/2023 42928709 5 QFP-254
-04/09/2023 88956889 2 YUQ-590
-04/09/2023 94080926 5 SPR-580
-04/09/2023 69324480 5 JCW-489
-04/09/2023 35565959 5 QRC-609
-04/09/2023 88956889 3 UWA-476
-04/09/2023 27912250 3 QFR-958
-05/09/2023 42798099 1 AQS-362
-05/09/2023 13245501 5 KJX-387
-05/09/2023 13245501 5 XOA-735
-05/09/2023 12663268 1 BMJ-772
-05/09/2023 67418025 6 YYU-726
-05/09/2023 69324480 1 VJI-529
-05/09/2023 16151792 3 TZY-323
-05/09/2023 55552996 6 UXG-019
-05/09/2023 60574154 2 BWD-036
-05/09/2023 22280452 2 XSD-310
-05/09/2023 63437380 2 KQA-580
-05/09/2023 62566305 3 CNQ-172
-05/09/2023 46462527 4 KCO-488
-05/09/2023 93845419 5 CIM-038
-05/09/2023 89298238 3 JXD-139
-05/09/2023 89298238 3 ICX-503
-05/09/2023 73914283 3 BRD-969
-05/09/2023 54716824 3 SPR-580
-05/09/2023 64394265 1 YUQ-590
-05/09/2023 98589725 1 VRR-793
-05/09/2023 76388967 2 DOV-560
-05/09/2023 80048864 5 RDT-761
-05/09/2023 43877279 5 TYF-885
+Fecha DNI Cant. Código producto
+21/08/2023 90365520 1 OPJ-039
+21/08/2023 77191257 5 BWD-036
+21/08/2023 69639726 3 OPT-996
+21/08/2023 11602775 4 CIM-038
+21/08/2023 32565207 6 ZWF-661
+21/08/2023 49087435 2 VDD-853
+21/08/2023 49087435 1 PJG-338
+21/08/2023 45877001 4 VVS-017
+21/08/2023 79140840 5 TMN-884
+21/08/2023 98140264 4 QHC-492
+21/08/2023 91897732 1 WLL-607
+21/08/2023 90365520 6 KWP-672
+21/08/2023 71984468 5 JJN-837
+21/08/2023 49087435 1 SJQ-827
+21/08/2023 15210391 1 HFM-021
+21/08/2023 17913944 4 IHG-413
+21/08/2023 17972674 1 UTN-601
+21/08/2023 90237332 5 PVZ-181
+21/08/2023 49087435 6 XZR-640
+21/08/2023 37110873 2 UWA-476
+21/08/2023 25171011 1 VCL-867
+21/08/2023 85949265 6 TMJ-043
+21/08/2023 85949265 2 YUQ-590
+21/08/2023 26233063 2 ZAF-449
+21/08/2023 43043986 3 TXM-139
+21/08/2023 29337157 3 ZEX-027
+21/08/2023 38913831 3 JFC-432
+21/08/2023 83505958 3 EJW-346
+21/08/2023 11602775 6 TMJ-043
+21/08/2023 45783712 3 QFR-958
+21/08/2023 17913944 5 YJD-279
+21/08/2023 81114108 4 VRR-793
+21/08/2023 81114108 5 DUG-251
+21/08/2023 55552996 1 FQG-293
+21/08/2023 50365593 1 TZY-323
+21/08/2023 57690875 5 CSZ-863
+21/08/2023 32904023 3 SAM-013
+21/08/2023 40348917 3 WZD-331
+21/08/2023 40112594 3 EBI-299
+21/08/2023 40348917 2 FLJ-040
+21/08/2023 44229880 5 HLR-109
+21/08/2023 62566305 4 TYF-885
+21/08/2023 58187172 2 VXS-438
+21/08/2023 71463316 6 QFP-254
+21/08/2023 15561764 4 RAH-420
+21/08/2023 89429489 1 VXS-438
+21/08/2023 95161027 5 TZY-323
+22/08/2023 77484838 6 YUQ-590
+22/08/2023 32821689 1 ISU-815
+22/08/2023 27912250 4 LWG-915
+22/08/2023 26290971 5 TZY-323
+22/08/2023 73535476 3 CIM-038
+22/08/2023 15210391 5 RSE-049
+22/08/2023 35584593 1 KCO-488
+22/08/2023 25171011 6 OPT-996
+22/08/2023 78078115 3 TMJ-043
+22/08/2023 78757121 4 ZXK-295
+22/08/2023 38913831 1 YZD-580
+22/08/2023 94080926 5 OTW-288
+22/08/2023 87800799 1 QRC-609
+22/08/2023 77191257 6 AVM-258
+22/08/2023 66409237 5 ICX-503
+22/08/2023 52097922 2 MMA-577
+22/08/2023 78078115 2 DFF-034
+22/08/2023 76388967 6 RSE-049
+22/08/2023 64394265 6 YYK-309
+22/08/2023 84165595 4 QHC-492
+22/08/2023 77484838 4 BTO-226
+22/08/2023 78757121 3 OQI-373
+22/08/2023 71984468 2 PQH-935
+22/08/2023 93845419 2 NSR-955
+22/08/2023 43488351 5 XLF-273
+22/08/2023 80048864 3 BWD-036
+22/08/2023 36008913 6 HFC-845
+22/08/2023 78078115 5 XZR-640
+22/08/2023 89298238 3 QTK-083
+22/08/2023 37110873 2 GXF-122
+22/08/2023 86241107 3 HFC-845
+22/08/2023 27912250 1 LWG-915
+22/08/2023 15561764 6 JYQ-045
+22/08/2023 20864087 1 SPR-580
+22/08/2023 16151792 3 WZD-331
+22/08/2023 95161027 2 VJI-529
+23/08/2023 43488351 6 QTK-083
+23/08/2023 81114108 3 OFS-384
+23/08/2023 87813843 6 LDR-510
+23/08/2023 93160528 5 BRD-969
+23/08/2023 50365593 6 ZVA-180
+23/08/2023 12663268 5 QFP-254
+23/08/2023 81114108 4 BCN-855
+23/08/2023 29337157 6 QHC-492
+23/08/2023 78078115 2 PJG-338
+23/08/2023 93160528 3 QTK-083
+23/08/2023 79372768 1 SAM-013
+23/08/2023 31193794 1 JDC-028
+23/08/2023 55552996 1 AQS-362
+23/08/2023 76388967 6 CNQ-172
+23/08/2023 89298238 2 PFD-286
+23/08/2023 22280452 5 VRR-793
+23/08/2023 79464412 6 MTF-868
+23/08/2023 23928045 2 LWG-915
+23/08/2023 89148118 6 TKM-141
+23/08/2023 89298238 1 YOT-530
+23/08/2023 77642521 2 YYU-726
+23/08/2023 89429489 1 QUU-384
+23/08/2023 83236386 1 OFS-384
+23/08/2023 73185299 5 QFP-254
+23/08/2023 69324480 3 VXS-438
+23/08/2023 78922174 2 XBD-314
+23/08/2023 64394265 5 OTW-288
+23/08/2023 90237332 4 PFD-286
+24/08/2023 50375303 6 JXD-139
+24/08/2023 45783712 1 VZV-827
+24/08/2023 79464412 4 JXD-139
+24/08/2023 26290971 3 TYF-885
+24/08/2023 35565959 5 VJI-529
+24/08/2023 50365593 3 VVS-017
+24/08/2023 25171011 3 QRC-609
+24/08/2023 26976877 5 AFL-718
+24/08/2023 79901434 2 OXP-732
+24/08/2023 43877279 4 SSD-176
+24/08/2023 88956889 1 TMN-884
+24/08/2023 87800799 5 JDC-028
+24/08/2023 97403853 5 BCK-361
+24/08/2023 73914283 4 OBI-353
+24/08/2023 59162728 4 FEG-454
+24/08/2023 45877001 5 RDT-761
+24/08/2023 15210391 3 OTW-288
+24/08/2023 54761731 5 FVB-607
+24/08/2023 95015539 2 CSZ-863
+24/08/2023 33713901 6 ZVA-180
+24/08/2023 89148118 5 JFC-432
+24/08/2023 46462527 6 ISU-815
+24/08/2023 45828535 2 AVM-258
+24/08/2023 42928709 6 GLC-370
+24/08/2023 78078115 1 SSD-176
+24/08/2023 13245501 1 AWB-345
+24/08/2023 11602775 2 JJN-837
+24/08/2023 86402303 3 OQI-373
+24/08/2023 12663268 3 AHB-459
+24/08/2023 24995742 4 KCO-488
+24/08/2023 36380447 5 OWN-701
+24/08/2023 85949265 6 LDR-510
+25/08/2023 96258632 5 EBI-299
+25/08/2023 87800799 2 EUZ-452
+25/08/2023 71378466 1 OQI-373
+25/08/2023 87800799 2 KWP-672
+25/08/2023 88995291 2 HLR-109
+25/08/2023 52097922 5 GBD-525
+25/08/2023 35565959 4 CIM-038
+25/08/2023 67418025 1 QUU-384
+25/08/2023 95751208 3 BWD-036
+25/08/2023 26976877 2 JXD-139
+25/08/2023 77642521 5 QUU-384
+25/08/2023 79140840 2 TYF-885
+25/08/2023 57263719 5 YOT-530
+25/08/2023 62324793 5 YJD-279
+25/08/2023 93845419 5 AWB-345
+25/08/2023 87800799 2 ICX-503
+25/08/2023 19829266 2 UXG-019
+25/08/2023 57263719 6 TZY-323
+25/08/2023 93160528 2 DUG-251
+25/08/2023 79901434 3 AHB-459
+25/08/2023 50375303 2 SJQ-827
+25/08/2023 32821689 5 MMA-577
+25/08/2023 42798099 6 RDT-761
+25/08/2023 11602775 4 XLF-273
+25/08/2023 49087435 1 AFL-718
+25/08/2023 73786035 1 AQS-362
+25/08/2023 45783712 5 SNY-500
+25/08/2023 16151792 1 CNQ-172
+25/08/2023 62566305 4 DIQ-718
+25/08/2023 13245501 1 ZWF-661
+25/08/2023 40348917 4 SNY-500
+25/08/2023 73535476 2 LDR-510
+25/08/2023 83236386 2 MTF-868
+25/08/2023 58187172 6 KBY-991
+25/08/2023 77484838 3 YGV-332
+26/08/2023 26976877 3 XZG-521
+26/08/2023 54761731 3 DEV-433
+26/08/2023 27912250 1 ICX-503
+26/08/2023 42157219 6 KWP-672
+26/08/2023 24995742 1 BWD-036
+26/08/2023 54761731 1 VZV-827
+26/08/2023 38637282 6 FLJ-040
+26/08/2023 29337157 4 WZD-331
+26/08/2023 78922174 5 AFL-718
+26/08/2023 90365520 6 EUZ-452
+26/08/2023 11602775 1 JJN-837
+26/08/2023 73535476 4 KJX-387
+26/08/2023 86828079 3 MQR-442
+26/08/2023 13245501 6 HFC-845
+26/08/2023 57690875 4 XLF-273
+26/08/2023 77191257 3 TZY-323
+26/08/2023 79475585 5 BWD-036
+26/08/2023 49087435 3 BCK-361
+26/08/2023 54761731 4 ZVA-180
+26/08/2023 27912250 3 FLJ-040
+26/08/2023 78757121 1 GXF-122
+26/08/2023 42157219 6 III-576
+26/08/2023 71378466 4 BIT-434
+26/08/2023 32904023 1 KQQ-136
+26/08/2023 83505958 1 MQR-442
+26/08/2023 99842319 1 ZAF-449
+26/08/2023 59407188 5 RDT-761
+26/08/2023 57263719 5 ZWF-661
+26/08/2023 95161027 5 VVS-017
+26/08/2023 45828535 6 QJO-060
+26/08/2023 78757121 4 ARS-231
+26/08/2023 81114108 1 VCL-867
+26/08/2023 77484838 1 AFL-718
+26/08/2023 31611146 1 XSD-310
+26/08/2023 17972674 4 UWA-476
+26/08/2023 40348917 3 VRR-793
+26/08/2023 94080926 2 CIM-038
+26/08/2023 83236386 2 OPT-996
+26/08/2023 86402303 3 OQI-373
+26/08/2023 79901434 2 TXM-139
+27/08/2023 91897732 2 OXP-732
+27/08/2023 45877001 5 GBJ-693
+27/08/2023 78078115 2 XOA-735
+27/08/2023 86828079 1 YGV-332
+27/08/2023 73185299 3 QUU-384
+27/08/2023 96659352 6 KQA-580
+27/08/2023 43053402 2 YOT-530
+27/08/2023 55552996 6 SSD-176
+27/08/2023 26976877 3 KQQ-136
+27/08/2023 40112594 6 KSO-608
+27/08/2023 79140840 1 HLR-109
+27/08/2023 41036366 2 AQS-362
+27/08/2023 66409237 4 CRU-009
+27/08/2023 90237332 1 OQI-373
+27/08/2023 78922174 3 OQI-373
+27/08/2023 79140840 3 DFF-034
+27/08/2023 43877279 4 SNY-500
+27/08/2023 11602775 3 YYK-309
+27/08/2023 54716824 6 CRU-009
+27/08/2023 38637282 1 OFS-384
+27/08/2023 87813843 4 MLE-193
+27/08/2023 15561764 2 FYF-898
+27/08/2023 73914283 1 OBI-353
+27/08/2023 12663268 6 XSD-310
+27/08/2023 17913944 4 XLF-273
+27/08/2023 26233063 4 JFC-432
+27/08/2023 38913831 3 FLW-631
+27/08/2023 32565207 4 UXG-019
+27/08/2023 57263719 2 OTH-462
+27/08/2023 89863424 4 SSE-115
+27/08/2023 67418025 5 EVN-510
+27/08/2023 26976877 4 YUQ-590
+27/08/2023 57690875 6 XTE-383
+27/08/2023 84165595 3 JFC-432
+27/08/2023 63437380 2 PJG-338
+27/08/2023 22777006 2 XLF-273
+27/08/2023 52097922 5 ISU-815
+27/08/2023 13245501 5 JCW-489
+27/08/2023 22777006 3 YYK-309
+27/08/2023 95751208 4 BRD-969
+27/08/2023 63437380 5 YEZ-591
+27/08/2023 37110873 5 YZD-580
+27/08/2023 25171011 1 CIM-038
+27/08/2023 60574154 6 III-576
+27/08/2023 78757121 4 KJX-387
+28/08/2023 45828535 6 TZY-323
+28/08/2023 57263719 3 BWD-036
+28/08/2023 23928045 3 OXP-732
+28/08/2023 73786035 4 DEN-125
+28/08/2023 79464412 5 CJE-310
+28/08/2023 35584593 4 AVM-258
+28/08/2023 94080926 5 NMV-644
+28/08/2023 85871751 2 MYC-756
+28/08/2023 57690875 3 CIM-038
+28/08/2023 43043986 5 QFP-254
+28/08/2023 44679500 1 AWB-345
+28/08/2023 32565207 5 FVQ-662
+28/08/2023 69975105 6 HFM-021
+28/08/2023 89298238 2 QFP-254
+28/08/2023 43053402 6 FVQ-662
+28/08/2023 71463316 4 BCN-855
+28/08/2023 89148118 5 XLF-273
+28/08/2023 95161027 1 OQI-373
+28/08/2023 78922174 5 TKM-141
+28/08/2023 43877279 5 QUU-384
+28/08/2023 40112594 2 BCK-361
+28/08/2023 66409237 4 UXG-019
+28/08/2023 79372768 6 QVJ-982
+28/08/2023 24995742 3 YMU-875
+28/08/2023 80048864 3 BCK-361
+28/08/2023 71463316 3 UWA-476
+28/08/2023 59407188 6 BIT-434
+28/08/2023 71378466 6 ARS-231
+28/08/2023 77484838 1 UWA-476
+28/08/2023 17972674 1 ZWF-661
+28/08/2023 89863424 6 OTH-462
+28/08/2023 26976877 4 SSE-115
+28/08/2023 42157219 2 KCO-488
+28/08/2023 42157219 5 OTS-581
+28/08/2023 35565959 2 DFJ-952
+28/08/2023 42928709 5 NSM-283
+28/08/2023 32904023 3 KJX-387
+28/08/2023 26233063 3 KSO-608
+28/08/2023 79475585 6 KQQ-136
+28/08/2023 80048864 1 PPX-620
+28/08/2023 76388967 5 SJQ-827
+28/08/2023 86241107 2 CIM-038
+28/08/2023 60574154 5 KDA-627
+28/08/2023 62324793 2 OPJ-039
+29/08/2023 16552775 5 CNN-411
+29/08/2023 69639726 1 DON-719
+29/08/2023 16151792 1 AQS-362
+29/08/2023 44229880 3 SNY-500
+29/08/2023 53166028 3 ONB-903
+29/08/2023 71463316 5 KCO-488
+29/08/2023 87800799 2 WZD-331
+29/08/2023 31193794 5 BXY-119
+29/08/2023 98140264 2 DFF-034
+29/08/2023 43053402 2 VRR-793
+29/08/2023 20864087 5 YUQ-590
+29/08/2023 87800799 3 BTO-226
+29/08/2023 45828535 5 YMU-875
+29/08/2023 53166028 1 QHC-492
+29/08/2023 55552996 1 SJD-818
+29/08/2023 95161027 4 FQG-293
+29/08/2023 25171011 3 VCL-867
+29/08/2023 71463316 6 EBI-299
+29/08/2023 45877001 2 PJG-338
+29/08/2023 77642521 5 DFJ-952
+29/08/2023 88956889 6 HFM-021
+29/08/2023 86241107 2 FEG-454
+29/08/2023 81114108 2 RBE-789
+29/08/2023 52097922 2 OWN-701
+29/08/2023 77484838 3 UDR-957
+29/08/2023 62324793 1 FQG-293
+29/08/2023 71378466 3 XSD-310
+29/08/2023 29847168 1 BCK-361
+29/08/2023 46462527 3 KWP-672
+29/08/2023 79464412 2 NSM-283
+29/08/2023 76388967 5 EBI-299
+30/08/2023 83505958 5 TYF-885
+30/08/2023 42928709 4 QIL-029
+30/08/2023 15210391 2 DON-719
+30/08/2023 69975105 6 WZD-331
+30/08/2023 89429489 6 VCL-867
+30/08/2023 32821689 3 ONB-903
+30/08/2023 62566305 5 GXF-122
+30/08/2023 62324793 5 XBD-314
+30/08/2023 35565959 5 JXD-139
+30/08/2023 32565207 4 TKM-141
+30/08/2023 89863424 3 QRC-609
+30/08/2023 97403853 4 GBJ-693
+30/08/2023 96659352 3 KQQ-136
+30/08/2023 79140840 1 OTH-462
+30/08/2023 23928045 5 TKM-141
+30/08/2023 48184351 2 KQA-580
+30/08/2023 45877001 6 KBY-991
+30/08/2023 73185299 3 AVM-258
+30/08/2023 26290971 3 GKG-558
+30/08/2023 85949265 5 VRR-793
+30/08/2023 97403853 6 KQQ-136
+30/08/2023 86402303 6 RBE-789
+30/08/2023 96258632 2 QHC-492
+30/08/2023 63437380 4 AWB-345
+30/08/2023 87800799 6 GBD-525
+30/08/2023 15210391 2 AQS-362
+30/08/2023 19829266 3 TXM-139
+30/08/2023 50365593 5 AFL-718
+31/08/2023 90237332 3 QFP-254
+31/08/2023 42798099 6 CNN-411
+31/08/2023 81114108 5 DFF-034
+31/08/2023 90365520 6 KBY-991
+31/08/2023 35584593 4 SSD-176
+31/08/2023 97403853 3 YJD-279
+31/08/2023 46462527 6 LWG-915
+31/08/2023 93845419 6 QIL-029
+31/08/2023 73185299 3 OTH-462
+31/08/2023 87800799 2 VRR-793
+31/08/2023 64394265 5 OFS-384
+31/08/2023 45828535 4 XSD-310
+31/08/2023 69975105 6 TMJ-043
+31/08/2023 86402303 6 HFM-021
+31/08/2023 87813843 1 OQI-373
+31/08/2023 54716824 1 UDR-957
+31/08/2023 37110873 4 VDD-853
+31/08/2023 25171011 6 AWB-345
+31/08/2023 67418025 2 FEG-454
+31/08/2023 22777006 1 FCN-617
+31/08/2023 48467976 5 JDQ-505
+31/08/2023 71463316 4 AWT-354
+31/08/2023 37110873 4 QUU-384
+31/08/2023 89148118 6 EBI-299
+31/08/2023 45783712 2 YUQ-590
+31/08/2023 13245501 2 QIL-029
+31/08/2023 54716824 6 ZEX-027
+31/08/2023 62324793 1 LDR-510
+01/09/2023 84165595 6 HFM-021
+01/09/2023 86241107 2 UXG-019
+01/09/2023 79420973 5 SSE-115
+01/09/2023 13245501 3 VXS-438
+01/09/2023 73185299 3 QHC-492
+01/09/2023 43043986 5 SSD-176
+01/09/2023 22280452 3 UCX-285
+01/09/2023 77191257 6 ZEX-027
+01/09/2023 78922174 3 XBD-314
+01/09/2023 49087435 2 III-576
+01/09/2023 42798099 5 TMN-884
+01/09/2023 17913944 1 DEN-125
+01/09/2023 78078115 4 FQG-293
+01/09/2023 96659352 4 ADX-669
+01/09/2023 93160528 1 YYU-726
+01/09/2023 77191257 5 QVJ-982
+01/09/2023 31611146 4 FVQ-662
+01/09/2023 89298238 4 UJV-290
+01/09/2023 28390487 2 GLC-370
+01/09/2023 89148118 1 AFL-718
+01/09/2023 71984468 1 TZY-323
+01/09/2023 40348917 1 BMJ-772
+01/09/2023 32904023 4 DUG-251
+01/09/2023 19829266 3 RDT-761
+01/09/2023 16151792 6 IDO-503
+01/09/2023 87813843 3 XSD-310
+01/09/2023 41036366 4 QVJ-982
+01/09/2023 43488351 6 DIQ-718
+01/09/2023 91897732 5 XZR-640
+01/09/2023 83236386 5 UJV-290
+01/09/2023 79140840 4 JXD-139
+01/09/2023 84165595 1 DFJ-952
+01/09/2023 35565959 1 BZS-261
+01/09/2023 50365593 3 LWG-915
+02/09/2023 88956889 6 UWA-476
+02/09/2023 79372768 4 GLC-370
+02/09/2023 89863424 1 FVB-607
+02/09/2023 15210391 4 VXS-438
+02/09/2023 32821689 5 MTF-868
+02/09/2023 98140264 3 CJE-310
+02/09/2023 13245501 5 BXY-119
+02/09/2023 94080926 5 TXM-139
+02/09/2023 59407188 3 LYZ-614
+02/09/2023 15210391 3 TZY-323
+02/09/2023 84165595 6 RDT-761
+02/09/2023 20864087 6 JDQ-505
+02/09/2023 89429489 3 BXY-119
+02/09/2023 88956889 4 MYC-756
+02/09/2023 41036366 4 SJD-818
+02/09/2023 24995742 3 DON-719
+02/09/2023 69324480 1 DIQ-718
+02/09/2023 37110873 1 SSD-176
+02/09/2023 50375303 1 AFL-718
+02/09/2023 32904023 4 QFP-254
+02/09/2023 55552996 1 QTK-083
+02/09/2023 90237332 3 TKM-141
+02/09/2023 90365520 5 VDD-853
+02/09/2023 33397650 6 VJI-529
+02/09/2023 50365593 6 TMN-884
+02/09/2023 79420973 3 GXF-122
+02/09/2023 50365593 6 JDC-028
+02/09/2023 33713901 2 UWA-476
+02/09/2023 79372768 5 EUZ-452
+02/09/2023 43053402 6 MMA-577
+02/09/2023 66409237 6 AWT-354
+02/09/2023 95161027 5 III-576
+02/09/2023 53166028 3 TXM-139
+02/09/2023 78922174 6 EJW-346
+02/09/2023 78078115 5 DFJ-952
+02/09/2023 20864087 1 JFC-432
+02/09/2023 45783712 6 SSD-176
+02/09/2023 77191257 2 KWP-672
+02/09/2023 29337157 4 HFM-021
+02/09/2023 79901434 6 OBI-353
+02/09/2023 57263719 4 DOV-560
+02/09/2023 98140264 1 BRD-969
+02/09/2023 40348917 2 DFJ-952
+02/09/2023 86828079 5 QIL-029
+02/09/2023 79140840 5 QRC-609
+02/09/2023 89298238 4 YOT-530
+02/09/2023 20864087 4 BXY-119
+02/09/2023 66409237 4 DFF-034
+02/09/2023 42928709 5 OQI-373
+03/09/2023 71378466 2 FVQ-662
+03/09/2023 99842319 2 DUG-251
+03/09/2023 26290971 3 PVZ-181
+03/09/2023 79901434 5 CSZ-863
+03/09/2023 40112594 4 FVQ-662
+03/09/2023 16552775 6 AWB-345
+03/09/2023 23928045 2 TMN-884
+03/09/2023 69324480 3 UOD-420
+03/09/2023 33713901 1 VVS-017
+03/09/2023 43043986 1 ZEX-027
+03/09/2023 16151792 1 AQS-362
+03/09/2023 73535476 5 UWA-476
+03/09/2023 62566305 1 AVM-258
+03/09/2023 57263719 5 OTH-462
+03/09/2023 52097922 6 XSD-310
+03/09/2023 96258632 2 CRU-009
+03/09/2023 89429489 1 UXG-019
+03/09/2023 50375303 5 CRU-009
+03/09/2023 52097922 2 UTN-601
+03/09/2023 73535476 4 FLJ-040
+03/09/2023 12663268 4 YYU-726
+03/09/2023 96659352 3 GBJ-693
+03/09/2023 37110873 6 FCN-617
+03/09/2023 52097922 4 XZG-521
+03/09/2023 42798099 2 OQI-373
+03/09/2023 54761731 5 OTS-581
+03/09/2023 26976877 4 VTV-269
+03/09/2023 79901434 2 ZEX-027
+03/09/2023 95751208 4 UOD-420
+03/09/2023 15561764 2 GBJ-693
+03/09/2023 32904023 6 RBE-789
+03/09/2023 59407188 1 OWN-701
+04/09/2023 85949265 4 JFC-432
+04/09/2023 38913831 3 BCN-855
+04/09/2023 45783712 4 YMU-875
+04/09/2023 50375303 4 VXS-438
+04/09/2023 88995291 3 MTF-868
+04/09/2023 26233063 1 UWA-476
+04/09/2023 44229880 4 JXD-139
+04/09/2023 36380447 2 HLR-109
+04/09/2023 12663268 3 RAH-420
+04/09/2023 91897732 2 PFD-286
+04/09/2023 31611146 4 YOT-530
+04/09/2023 42928709 4 XLF-273
+04/09/2023 50375303 5 KQA-580
+04/09/2023 69975105 5 FQG-293
+04/09/2023 50375303 5 YJD-279
+04/09/2023 76388967 6 PFD-286
+04/09/2023 48184351 1 TXM-139
+04/09/2023 33397650 3 IHG-413
+04/09/2023 25171011 4 DFJ-952
+04/09/2023 91897732 2 TMN-884
+04/09/2023 66409237 3 BRD-969
+04/09/2023 77191257 4 ZWF-661
+04/09/2023 32565207 6 IDO-503
+04/09/2023 63437380 5 III-576
+04/09/2023 42928709 5 QFP-254
+04/09/2023 88956889 2 YUQ-590
+04/09/2023 94080926 5 SPR-580
+04/09/2023 69324480 5 JCW-489
+04/09/2023 35565959 5 QRC-609
+04/09/2023 88956889 3 UWA-476
+04/09/2023 27912250 3 QFR-958
+05/09/2023 42798099 1 AQS-362
+05/09/2023 13245501 5 KJX-387
+05/09/2023 13245501 5 XOA-735
+05/09/2023 12663268 1 BMJ-772
+05/09/2023 67418025 6 YYU-726
+05/09/2023 69324480 1 VJI-529
+05/09/2023 16151792 3 TZY-323
+05/09/2023 55552996 6 UXG-019
+05/09/2023 60574154 2 BWD-036
+05/09/2023 22280452 2 XSD-310
+05/09/2023 63437380 2 KQA-580
+05/09/2023 62566305 3 CNQ-172
+05/09/2023 46462527 4 KCO-488
+05/09/2023 93845419 5 CIM-038
+05/09/2023 89298238 3 JXD-139
+05/09/2023 89298238 3 ICX-503
+05/09/2023 73914283 3 BRD-969
+05/09/2023 54716824 3 SPR-580
+05/09/2023 64394265 1 YUQ-590
+05/09/2023 98589725 1 VRR-793
+05/09/2023 76388967 2 DOV-560
+05/09/2023 80048864 5 RDT-761
+05/09/2023 43877279 5 TYF-885
diff --git a/2023-2/E1/mitsuo/p1/fun.cpp b/2023-2/E1/mitsuo/p1/fun.cpp
index 8eaccbe..aa589c1 100644
--- a/2023-2/E1/mitsuo/p1/fun.cpp
+++ b/2023-2/E1/mitsuo/p1/fun.cpp
@@ -1,151 +1,145 @@
-#include <iostream>
-#include <fstream>
-#include <iomanip>
-#include <cstring>
-
#include "fun.hpp"
-#define INCREMENTO 5
+#include <cstring>
+#include <fstream>
+#include <iomanip>
+#include <iostream>
using namespace std;
-void cargarPedidos(int **&fechaClienteCantidad, char **&codigoDelProducto, const char *nombArch){
- int nd=0, cap=0;
- char *cod;
- ifstream arch(nombArch,ios::in);
- if(not arch.is_open()){
- cout<<"error al abrir "<<nombArch<<endl;
+void cargarPedidos(int **&fechaClienteCantidad, char **&codigoDelProducto,
+ const char *archivo) {
+ ifstream in(archivo);
+ if (!in) {
+ cout << "Error: no se pudo abrir archivo\n";
exit(1);
}
- fechaClienteCantidad = nullptr;
- codigoDelProducto = nullptr;
- while (1) {
- cod = leeCad(arch, ',');
- if (cod==nullptr) break;
- if (nd == cap) aumentaEspacios(fechaClienteCantidad, codigoDelProducto, nd, cap);
- guardaPed(arch, fechaClienteCantidad[nd - 1], codigoDelProducto[nd - 1], cod);
- nd++;
- arch.get();
+
+ fechaClienteCantidad = NULL;
+ codigoDelProducto = NULL;
+ size_t size = 0;
+
+ char code[MAXLEN];
+ int dni, qty, date, dd, mm, yy;
+
+ int i;
+ for (i = 0; true; i++) {
+ in.getline(code, MAXLEN, ',');
+ in >> dni; in.get();
+ in >> qty; in.get();
+ in >> dd; in.get(); in >> mm; in.get(); in >> yy; in.get();
+ date = yy*10000 + mm*100 + dd;
+ if (!in) {
+ break;
+ }
+
+ if (i + 1 >= size) {
+ increase_size_productos(fechaClienteCantidad, codigoDelProducto, size);
+ }
+
+ fechaClienteCantidad[i] = new int [3] {date, dni, qty};
+ char * code_mem = new char [strlen(code) + 1]; strcpy(code_mem, code);
+ codigoDelProducto[i] = code_mem;
+
+ fechaClienteCantidad[i + 1] = NULL;
}
- qSort(fechaClienteCantidad, codigoDelProducto, 0, nd-2);
+
+ qsort_pedidos(fechaClienteCantidad, codigoDelProducto, 0, i - 1);
}
-char *leeCad(istream &arch, char delim){
- char *cad, buff[80];
- arch.getline(buff,80,delim);
- if(arch.eof()) return nullptr;
- cad = new char [strlen(buff)+1];
- strcpy(cad,buff);
- return cad;
-}
+void increase_size_productos(int **&fechaClienteCantidad, char **&codigoDelProducto, size_t &size) {
+ if (!fechaClienteCantidad) {
+ // init
+ size = INCREMENTO;
+ fechaClienteCantidad = new int * [size];
+ codigoDelProducto = new char * [size];
-void aumentaEspacios(int **&fechaClienteCantidad, char **&codigoDelProducto, int &nd, int &cap){
- int **auxF;
- char **auxC;
- cap += INCREMENTO;
- if(fechaClienteCantidad==nullptr){
- fechaClienteCantidad = new int * [cap]{};
- codigoDelProducto = new char * [cap]{};
- nd=1;
+ fechaClienteCantidad[0] = NULL;
+ return;
}
- else{
- auxF = new int * [cap]{};
- auxC = new char * [cap]{};
- for(int i=0;i<nd;i++){
- auxF[i] = fechaClienteCantidad[i];
- auxC[i] = codigoDelProducto[i];
- }
- delete fechaClienteCantidad;
- delete codigoDelProducto;
- fechaClienteCantidad = auxF;
- codigoDelProducto = auxC;
+
+ // this has O(n^2) time complexity (not good)
+ size += INCREMENTO;
+ int ** tmp1 = new int * [size];
+ char ** tmp2 = new char * [size];
+
+ int i;
+ for (i = 0; i < size && fechaClienteCantidad[i]; i++) {
+ tmp1[i] = fechaClienteCantidad[i];
+ tmp2[i] = codigoDelProducto[i];
}
-}
+ tmp1[i] = NULL;
-void guardaPed(istream &arch, int *&fechaClienteCantidad, char *&codigoDelProducto, char *cod){
- int fecha, dni, cant;
- arch>>dni;
- arch.get();
- arch>>cant;
- arch.get();
- fecha = leeFecha(arch);
- fechaClienteCantidad = new int [3] {};
- fechaClienteCantidad[0] = fecha;
- fechaClienteCantidad[1] = dni;
- fechaClienteCantidad[2] = cant;
- codigoDelProducto = cod;
+ delete [] fechaClienteCantidad;
+ delete [] codigoDelProducto;
+ fechaClienteCantidad = tmp1;
+ codigoDelProducto = tmp2;
}
+
+void qsort_pedidos(int ** v1, char ** v2, int left, int right) {
+ int i, last;
-int leeFecha(istream &arch){
- int dd,mm,aa;
- char c;
- arch>>dd>>c>>mm>>c>>aa;
- return dd+mm*100+aa*10000;
-}
+ /* do nothing if array has less than 2 elements */
+ if (left >= right)
+ return;
+
+ swap_pedidos(v1, v2, left, (left + right) / 2);
+ last = left;
-void qSort(int **fechaClienteCantidad, char **codigoDelProducto, int izq, int der){
- int limite;
- if (izq>=der) return;
- cambiar(fechaClienteCantidad[izq],codigoDelProducto[izq],fechaClienteCantidad[(izq+der)/2],codigoDelProducto[(izq+der)/2]);
- limite = izq;
- for(int i=izq+1;i<=der;i++){
- if(desorden(fechaClienteCantidad[i], fechaClienteCantidad[izq])){
- limite++;
- cambiar(fechaClienteCantidad[i],codigoDelProducto[i],fechaClienteCantidad[limite],codigoDelProducto[limite]);
+ /* partition */
+ for (i = left + 1; i <= right; i++) {
+ if (v1[i][0] < v1[left][0]) {
+ swap_pedidos(v1, v2, ++last, i);
}
}
- cambiar(fechaClienteCantidad[izq],codigoDelProducto[izq],fechaClienteCantidad[limite],codigoDelProducto[limite]);
- qSort(fechaClienteCantidad,codigoDelProducto,izq,limite-1);
- qSort(fechaClienteCantidad,codigoDelProducto,limite+1,der);
-}
-void cambiar(int *&fechaClienteI,char *&codigoDelProductoI,int *&fechaClienteK,char *&codigoDelProductoK){
- int *auxI = fechaClienteI;
- char *auxC = codigoDelProductoI;
- fechaClienteI = fechaClienteK;
- codigoDelProductoI = codigoDelProductoK;
- fechaClienteK = auxI;
- codigoDelProductoK = auxC;
+ swap_pedidos(v1, v2, left, last); /* reset partition element */
+ qsort_pedidos(v1, v2, left, last - 1);
+ qsort_pedidos(v1, v2, last + 1, right);
+
}
+void swap_pedidos(int ** v1, char ** v2, int left, int right) {
+ int * t1 = v1[left];
+ char * t2 = v2[left];
-bool desorden(int *fechaClienteCantidadI, int *fechaClienteCantidadK){
- return fechaClienteCantidadI[0] < fechaClienteCantidadK[0];
+ v1[left] = v1[right];
+ v2[left] = v2[right];
+
+ v1[right] = t1;
+ v2[right] = t2;
}
-void pruebaDeCargaDePedidos(int **fechaClienteCantidad, char **codigoDelProducto, const char *nombArch){
- ofstream arch(nombArch,ios::out);
- if(not arch.is_open()){
- cout<<"error al abrir "<<nombArch<<endl;
+void pruebaDeCargaDePedidos(int **fechaClienteCantidad,
+ char **codigoDelProducto, const char *archivo) {
+ ofstream out(archivo);
+ if (!out) {
+ cout << "Error: no se pudo abrir archivo\n";
exit(1);
}
- arch.precision(2);
- arch<<fixed;
- arch<<setw(43)<<"REPORTE DE PRUEBA DE PEDIDOS"<<endl;
- imprimeLinea(arch,'=');
- arch<<right<<setw(7)<<"FECHA";
- arch<<right<<setw(12)<<"DNI"<<setw(16)<<"CANTIDAD"<<setw(5)<<" "<<left<<setw(20)<<"CODIGO PRODUCTO"<<endl;
- for(int i=0;fechaClienteCantidad[i];i++){
- imprimePedido(arch,fechaClienteCantidad[i], codigoDelProducto[i]);
- }
-}
+ out << "Fecha DNI Cant. Código producto\n";
+ for (int i = 0; fechaClienteCantidad[i]; i++) {
+ int date = fechaClienteCantidad[i][0];
+ int dni = fechaClienteCantidad[i][1];
+ int qty = fechaClienteCantidad[i][2];
+ char * code = codigoDelProducto[i];
-void imprimeLinea(ostream &arch,char c){
- for(int i=0;i<58;i++) arch<<c;
- arch<<endl;
+ out << right << fixed << setprecision(2);
+ print_date(out, date);
+ out << setw(12) << dni;
+ out << setw(12) << qty;
+ out << left << " ";
+ out << setw(12) << code;
+ out << '\n';
+ }
}
-void imprimePedido(ostream &arch,int *fechaClienteCantidad, char *codigoDelProducto){
- imprimeFecha(arch,fechaClienteCantidad[0]);
- arch<<right<<setw(12)<<fechaClienteCantidad[1]<<setw(10)<<fechaClienteCantidad[2]<<setw(11)<<" "<<left<<setw(10)<<codigoDelProducto<<endl;
+void print_date(ostream &out, int date) {
+ int yy = date / 10000;
+ int mm = date / 100 % 100;
+ int dd = date % 100;
+ out << setfill('0') << right;
+ out << setw(2) << dd << '/';
+ out << setw(2) << mm << '/';
+ out << setw(4) << yy << " ";
+ out << setfill(' ');
}
-
-void imprimeFecha(ostream &arch,int fecha){
- int dd,mm,aa=fecha;
- dd = aa%100;
- aa/=100;
- mm = aa%100;
- aa/=100;
- arch.fill('0');
- arch<<right<<setw(2)<<dd<<"/"<<setw(2)<<mm<<"/"<<setw(4)<<aa;
- arch.fill(' ');
-} \ No newline at end of file
diff --git a/2023-2/E1/mitsuo/p1/fun.hpp b/2023-2/E1/mitsuo/p1/fun.hpp
index 57c2318..91aca23 100644
--- a/2023-2/E1/mitsuo/p1/fun.hpp
+++ b/2023-2/E1/mitsuo/p1/fun.hpp
@@ -3,17 +3,16 @@
#include <iostream>
-void cargarPedidos(int **&fechaClienteCantidad, char **&codigoDelProducto, const char *nombArch);
-char *leeCad(std::istream &arch, char delim);
-void aumentaEspacios(int **&fechaClienteCantidad, char **&codigoDelProducto, int &nd, int &cap);
-void guardaPed(std::istream &arch, int *&fechaClienteCantidad, char *&codigoDelProducto, char *cod);
-int leeFecha(std::istream &arch);
-void qSort(int **fechaClienteCantidad, char **codigoDelProducto, int izq, int der);
-void cambiar(int *&fechaClienteI,char *&codigoDelProductoI,int *&fechaClienteK,char *&codigoDelProductoK);
-bool desorden(int *fechaClienteCantidadI, int *fechaClienteCantidadK);
-void pruebaDeCargaDePedidos(int **fechaClienteCantidad, char **codigoDelProducto, const char *nombArch);
-void imprimeLinea(std::ostream &arch,char c);
-void imprimePedido(std::ostream &arch,int *fechaClienteCantidad, char *codigoDelProducto);
-void imprimeFecha(std::ostream &arch,int fecha);
+#define MAXLEN 100
+#define INCREMENTO 5
+
+void cargarPedidos(int **&fechaClienteCantidad, char **&codigoDelProducto, const char *archivo);
+void increase_size_productos(int **&fechaClienteCantidad, char **&codigoDelProducto, size_t &size);
+
+void qsort_pedidos(int ** v1, char ** v2, int left, int right);
+void swap_pedidos(int ** v1, char ** v2, int left, int right);
+
+void pruebaDeCargaDePedidos(int **fechaClienteCantidad, char **codigoDelProducto, const char *archivo);
+void print_date(std::ostream &out, int date);
#endif /* FUN_HPP */ \ No newline at end of file
diff --git a/2023-2/E1/mitsuo/p1/main.cpp b/2023-2/E1/mitsuo/p1/main.cpp
index e762539..0764716 100644
--- a/2023-2/E1/mitsuo/p1/main.cpp
+++ b/2023-2/E1/mitsuo/p1/main.cpp
@@ -1,8 +1,9 @@
#include "fun.hpp"
int main(int argc, char** argv) {
- char **codigoDelProducto;
- int **fechaClienteCantidad;
+ char** codigoDelProducto;
+ int** fechaClienteCantidad;
+
cargarPedidos(fechaClienteCantidad, codigoDelProducto, "../../Pedidos.csv");
pruebaDeCargaDePedidos(fechaClienteCantidad, codigoDelProducto, "PruebaPedidos.txt");
return 0;
diff --git a/2023-2/E1/mitsuo/p2/PruebaProductos.txt b/2023-2/E1/mitsuo/p2/PruebaProductos.txt
new file mode 100644
index 0000000..3d18c6b
--- /dev/null
+++ b/2023-2/E1/mitsuo/p2/PruebaProductos.txt
@@ -0,0 +1,168 @@
+Codigo Descripcion Precio Stock
+ADX-669 Refrigeradora cap. 220 litros 1239.38 15
+AFL-718 Vinera 1664.97 17
+AHB-459 Reproductor DVD Portatil TV 7 685.50 9
+AQS-362 Teclado Inalambrico USB 233.05 7
+ARS-231 Audifonos Stereos 327.62 13
+AVM-258 Cocina a gas Toscana 2831.23 20
+AWB-345 Deshumedecedor DM-189H 800.37 6
+AWT-354 Galaxy Gear 3409.22 22
+BCK-361 Tablets 10.1 1872.53 9
+BCN-855 Cocina a gas Bahia Can 4015.92 14
+BIT-434 Campana Extractora modelo Glass 375.09 10
+BMJ-772 Refrigeradora Side by Side 936.32 13
+BRD-969 Centro de Lavado Electrico 2579.72 18
+BTO-226 Friobar 863.19 25
+BWD-036 Cocina Empotrable Klimatica 1086.34 5
+BXY-119 Cocina Empotrable Klimatica 2716.11 12
+BZS-261 Cocina a gas Trento 3087.87 8
+CIM-038 Cocina Empotrable Petra 2544.64 16
+CJE-310 Mini componente GPX33 3643.39 16
+CNN-411 Congeladora Side by Side 2296.29 24
+CNQ-172 Congeladora Horizontal 364 Lts. 3689.62 15
+CRU-009 Lavavajilla 2655.78 5
+CSZ-863 Video Filmadora 1713.57 17
+DEN-125 Rack Fijo 26/32 562.46 25
+DEV-433 Parlantes portatiles SHOQBOX 2698.74 13
+DFF-034 Grabadora de voz digital port�til con USB integrado 259.25 24
+DFJ-952 Cocina a gas Prestige 60 INOX 3342.77 18
+DIQ-718 Horno Microondas de Conveccion Cello 390.80 3
+DON-719 Secadora de Cabello SG-3035 360.69 12
+DOV-560 Impresora Laser Mutifuncion Monocromatica 1203.14 3
+DUG-251 Cocina a gas FFG3047SL 1597.96 7
+EBI-299 Cocina a gas Fridare 2287.57 15
+EJW-346 Campana Extractora 359.70 11
+EQY-018 Radio AM/FM stereo RMU-51C 301.73 7
+EUZ-452 Impresora Mutifuncional Led Color 3623.88 11
+EVN-510 Cocina a gas FFG3011LB 2672.30 15
+FCN-617 Televisor Plasma 60 4121.05 6
+FEG-454 Sillon masajeador 1695.70 8
+FLJ-040 Parlantes portatiles SOUNDSHOOTER 3703.37 19
+FLW-631 Radio Reloj Despertador 819.04 7
+FQG-293 Rapiducha Premiun 2784.31 23
+FVB-607 Cocina a gas Essenza BL 2953.07 13
+FVQ-662 Cocina a gas Pro 6300 INOX 1060.68 13
+FYF-898 Proyector a color 1160.46 15
+GBD-525 Refrigeradora Puertas M�gicas 2700.95 14
+GBJ-693 Radio CD 314.20 8
+GKG-558 Horno Microondas MS2042D 1674.24 23
+GLC-370 Video Proyector Power Lite 95 552.24 19
+GXF-122 Televisor Ultra HDTV 1110.16 15
+HFC-845 Televisor Serie LED R555A 3736.75 22
+HFM-021 Horno Electrico 726.91 26
+HLR-109 Parlantes inalambricos 439.47 25
+HTY-123 Refrigeradora GM-S604ULV 1173.33 1
+ICX-503 Cocina a gas Roma 1221.02 15
+IDO-503 Laptop GamerVictus de 15.6 3935.17 23
+IHG-413 Parlant Y pedestal PAM-83 317.70 13
+III-576 Campana Extractora Venus Plus 1077.65 29
+ISB-205 Camara fotografica 16MP 2976.43 3
+ISU-815 Audifonos 619.89 16
+JCW-489 Conservadora Exibidora CMVE-250 2064.97 11
+JDC-028 Puntero Laser 30.48 19
+JDQ-505 Lavadora Modelo Aquamatic 1572.31 24
+JFC-432 DVD DVM-L79 307.67 24
+JJN-837 Lavadora Tecnologia Wobbie 1979.92 15
+JXD-139 Terma Evolucion Soltu 586.02 28
+JYQ-045 Horno Microondas 1.2 p3 267.15 20
+KBY-991 Home Theater E4100 1101.08 24
+KCO-488 Ventilador de pared 679.60 22
+KDA-627 Cocina a gas Ijasmin 1424.46 7
+KJX-387 Ventilador de techo 613.19 9
+KQA-580 Cocina Empotrable Glassy Plus 2907.92 17
+KQQ-136 Impresora Laser EPSON 1139.56 17
+KSO-608 Secadora Modelo Italica 914.17 21
+KWP-672 Televisor UHD TV 1625.30 24
+LDR-510 Mini componente ESX9 2701.87 25
+LWG-915 Cocina a gas Murano 1101.47 15
+LYZ-614 Impresore Mutifuncional Expression XP-211 3510.84 13
+LZK-729 Cocina a gas Kristel 2850.91 3
+MLE-193 Cocina a gas Ingenious 2779.41 10
+MMA-577 Congeladora Horizontal 252 Lts. 1780.30 14
+MQR-442 Reloj Digital RMM-29 271.66 25
+MTF-868 Impresora Monocromatica WorkForce M205 971.59 12
+MYC-756 Cocina a gas Leganza INOX 1506.80 21
+NMV-644 Lavadora Automatica 3272.48 5
+NSM-283 Cocina a gas FFG3053SL 936.81 13
+NSR-955 Cocina a gas Blogna 2591.44 14
+OBI-353 Terma Milenium 2960.56 16
+OFS-384 Parlantes Bluetooth 805.22 8
+ONB-903 Reproductor BLU-RAY 3D 653.67 16
+OPJ-039 Secadora de Ropa 2765.64 12
+OPT-996 Mini componente GPX88 1367.48 14
+OQI-373 Cocina Empotrable Premio Plus 906.16 20
+OTH-462 Lavadora Semi-Automatica 531.04 20
+OTS-581 Galaxy Note 8.0 2653.10 24
+OTW-288 Cavba de Vinos GE cap. 34 botellas 1119.18 14
+OWN-701 Olla arrocera 220.82 21
+OXP-732 Televisor OLED 4K UHD Google TV Smart 77 XR-77A80L LA8 16504.47 8
+PFD-286 Refrigeradora cap. 415 litros 2776.02 8
+PJG-338 Impresora Mutifuncional Inalambricar 1067.80 21
+PPX-620 Aire acondicionado tipo split 2873.42 8
+PQH-935 Rack Giratorio 26/32 94.45 12
+PVZ-181 Ventilador circular 309.77 8
+QFP-254 Calentador electrico instantaneo 180.65 25
+QFR-958 Cocina a gas Bavaro 1607.46 6
+QHC-492 Terma Solucion 1907.23 17
+QIL-029 Mini componente Shake-5 2990.55 16
+QJO-060 Televisor LED FULL HD 2704.14 23
+QRC-609 Camara de video EOS 1806.66 17
+QTK-083 Congeladora Conservador Vertical 476 Lts. 2682.73 16
+QUU-384 Lavavajilla Blue Touch 2545.54 1
+QVJ-982 Horno Microondas 0.7 p3 1352.76 12
+RAH-420 Cocina a gas Pro 6550 INOX 157.01 5
+RBE-789 Televisor SMART TV 3303.07 17
+RDT-761 Horno Microondas con dorador 904.95 21
+RSE-049 Radio CD/DVD - TV 4037.51 21
+SAM-013 Cocina a gas FFG3047SL 2275.18 1
+SJD-818 Refrigeradora CoolStyle 281A Steel 3387.75 23
+SJQ-827 Reproductor Multimedia Touch Screen 1719.56 21
+SNY-500 Cocina a gas Praga Quarzo 3297.09 12
+SPR-580 Dispensador de Agua 404.35 15
+SSD-176 Refrigeradora Linea Gallery 567.71 23
+SSE-115 Refrigeradora CoolStyle 311N Steel 3243.58 23
+TKM-141 Cocina a gas Marsella 402.24 24
+TMJ-043 Lavadora EcoBubble 2400.79 23
+TMN-884 Secadora de mano 310.65 10
+TXM-139 Televisor LED FULL HD 3D 1092.95 5
+TYF-885 Videojuego TW 4 794.14 7
+TZY-323 Terma a gas 2341.01 31
+UCX-285 Galaxy Tab 3 3290.93 11
+UDR-957 Refrigeradora ECOTT 423 IXL 861.70 19
+UJV-290 Cocina a gas Fassina Plus 2423.26 10
+UOD-420 Mini componente ESX6 828.94 10
+UTN-601 Autoradio XAV-601 BT 562.51 4
+UWA-476 Autoradio MEX BT3150U 1191.39 29
+UXG-019 Terma de acumulacion 934.91 16
+VCL-867 Cocina a gas Rubi 2 699.07 9
+VDD-853 Deshumedecedor FAD30D7TSSW 3.4L 25-30m2 1095.67 16
+VJI-529 Horno Empotrable Electrico 1102.67 16
+VRR-793 Rack Giratorio 32/60 241.71 26
+VTV-269 Extractor de aire 854.48 9
+VVS-017 Tablets MW 0731 2599.72 14
+VXS-438 Mouse Blue Tooth 60.11 17
+VZV-827 Refrigeradora Top Mount 1784.27 2
+WLL-607 Cocina Electronica Convencion 1525.04 1
+WZD-331 Refrigeradora ECOTT 465 IX 1213.79 7
+XBD-314 Cocina a gas Fassina 1444.90 8
+XLF-273 Centro de Lavado a Gas 2371.95 20
+XOA-735 Congeladora Vertical 392 Lts. 2708.07 12
+XSD-310 Refrigeradora No frost 2259.93 17
+XTE-383 Rack Fijo 32/60 261.01 10
+XZG-521 Secadora Electrica FAQE7001LW 704.27 22
+XZR-640 Lavadora-Secadora FWD 2390.58 14
+YEZ-591 Lavadora WA 1320.03 9
+YGV-332 Impresora Led Color 2517.66 18
+YJD-279 Cocina a gas Florencia 1028.43 23
+YMU-875 Cocina a gas Plermo Quarzo 3232.10 9
+YOT-530 Deshumedecedor DM-190H 941.73 13
+YUQ-590 Refrigeradora CoolStyle 395N Steel 1979.07 19
+YYK-309 Refrigeradora Door in Door 4079.44 25
+YYU-726 Reproductor DVD Portatil 767.82 14
+YZD-580 Mini componente ESX8 1582.29 4
+ZAF-449 Tablet Cardle 816.43 16
+ZEX-027 Tablet Xperia Z 3843.75 23
+ZVA-180 Refrigeradora 322 litros 2903.13 13
+ZWF-661 Impresora Led 2731.61 1
+ZXK-295 Cocina Empotrable Electrica 3679.43 9
+QQB-968 Refrigeradora 484 litros 1452.92 9
diff --git a/2023-2/E1/mitsuo/p2/fun.cpp b/2023-2/E1/mitsuo/p2/fun.cpp
index 9e61144..7521998 100644
--- a/2023-2/E1/mitsuo/p2/fun.cpp
+++ b/2023-2/E1/mitsuo/p2/fun.cpp
@@ -1,126 +1,110 @@
-#include <iostream>
+#include <cstring>
+#include <cstdlib>
#include <fstream>
#include <iomanip>
-
-#include <cstdlib>
-#include <cstring>
+#include <iostream>
#include "fun.hpp"
using namespace std;
-enum Reg {COD, NOM, PRECIO, STOCK};
-
-void cargarProductos(void *&prod, const char *nombArch){
- ifstream in(nombArch);
- if(!in) {
- cerr << "Error: no se pudo abrir archivo\n";
+void cargarProductos(void *& productos, const char * archivo) {
+ ifstream in(archivo);
+ if (!in) {
+ cout << "Error: no se pudo abrir archivo\n";
exit(1);
}
- void **productos=nullptr;
- char *cod;
- int nd=0, cap=0;
- while(1){
- cod = leeCad(in,',');
- if(in.eof()) break;
- if(nd==cap) aumentaEspacios(productos,nd,cap);
- guardaProd(in, productos[nd-1], cod);
- nd++;
- }
- prod = productos;
- qsort(prod, nd-1, sizeof(void *), cmpProducto);
-}
+ void ** ps = NULL;
+ size_t size = 0;
-void aumentaEspacios(void**&productos, int &nd, int &cap){
- void **aux;
- cap += INCREMENTO;
- if(productos==nullptr){
- productos = new void * [cap]{};
- nd=1;
- }
- else{
- aux = new void * [cap]{};
- for(int i=0;i<nd;i++){
- aux[i] = productos[i];
+ char code[MAXLEN];
+ char desc[MAXLEN];
+ double price;
+ int stock;
+
+ int i;
+ for (i = 0; true; i++) {
+ in.getline(code, MAXLEN, ',');
+ in.getline(desc, MAXLEN, ',');
+ in >> price; in.get();
+ in >> stock; in.get();
+ if (!in) {
+ break;
+ }
+
+ if (i + 1 >= size) {
+ increase_size_productos(ps, size);
}
- delete productos;
- productos = aux;
+
+ char * code_mem = new char [strlen(code) + 1]; strcpy(code_mem, code);
+ char * desc_mem = new char [strlen(desc) + 1]; strcpy(desc_mem, desc);
+
+ void ** p1 = new void * [4] {code_mem, desc_mem, new double {price}, new int {stock}};
+ void ** p2 = new void * [2] {p1, NULL};
+
+ ps[i] = p2;
+ ps[i + 1] = NULL;
}
+
+// at the end of the iteration ps[i] == NULL
+ qsort(ps, i - 1, sizeof(void *), cmp_productos);
+ productos = ps;
}
-char *leeCad(istream &arch, char delim){
- char *cad, buff[80];
- arch.getline(buff,80,delim);
- if(arch.eof()) return nullptr;
- cad = new char [strlen(buff)+1];
- strcpy(cad,buff);
- return cad;
+int cmp_productos(const void *lhs, const void *rhs) {
+ // (nasty)
+ char * s1 = (char *)(*(void ****) lhs)[0][0];
+ char * s2 = (char *)(*(void ****) rhs)[0][0];
+ return strcmp(s1, s2);
}
-void guardaProd(istream &arch, void *&prod, char *cod){
- void **producto = new void *[2]{};
- producto[0] = creaRegProd(arch, cod);
- producto[1] = nullptr;
- prod = producto;
-}
+void increase_size_productos(void **& ps, size_t &size) {
+ if (!ps) {
+ // init
+ size = INCREMENTO;
+ ps = new void * [size];
-void *creaRegProd(istream &arch, char *cod){
- char *nomb;
- double precio;
- int stock;
- void **reg;
- nomb = leeCad(arch,',');
- arch>>precio;
- arch.get();
- arch>>stock;
- arch>>ws;
- reg = new void * [4] {};
- reg[COD] = cod;
- reg[NOM] = nomb;
- reg[PRECIO] = new double (precio);
- reg[STOCK] = new int (stock);
- return reg;
-}
+ ps[0] = NULL;
+ return;
+ }
-int cmpProducto(const void *a, const void *b){
- void **ai = (void**)a, **bi = (void**)b;
- void **duplaA = (void**)(*ai), **duplaB = (void**)(*bi);
- void **regA = (void**)(duplaA[0]), **regB = (void**)(duplaB[0]);
- char *codA = (char *)(regA[0]), *codB = (char*)(regB[0]);
- return strcmp(codA, codB);
+ // this has O(n^2) time complexity (not good)
+ size += INCREMENTO;
+ void ** ps_tmp = new void * [size];
+
+ int i;
+ for (i = 0; i < size && ps[i]; i++) {
+ ps_tmp[i] = ps[i];
+ }
+ ps_tmp[i] = NULL;
+
+ delete [] ps;
+ ps = ps_tmp;
}
-void pruebaDeCargaDeProductos(void *prod){
- void **productos = (void**)prod;
+void pruebaDeCargaDeProductos(void * productos) {
ofstream out("PruebaProductos.txt");
- if(!out){
- cout<<"error al abrir archivo PruebaProductos.txt"<<endl;
+ if (!out) {
+ cout << "Error: no se pudo abrir archivo\n";
exit(1);
}
- out.precision(2);
- out<<fixed;
- out<<setw(70)<<"REPORTE DE PRUEBA DE PRODUCTOS"<<endl;
- imprimeLinea(out,'=');
- out<<left<<setw(10)<<"CODIGO"<<setw(70)<<"NOMBRE"<<right<<setw(10)<<"PRECIO"
- <<setw(10)<<"STOCK"<<endl;
- for(int i=0;productos[i];i++){
- imprimeProducto(out,productos[i]);
- }
-}
-void imprimeLinea(ostream &arch,char c){
- for(int i=0;i<110;i++) arch<<c;
- arch<<endl;
-}
+ void ** ps = (void **) productos;
-void imprimeProducto(ostream &arch,void *prod){
- void **producto = (void**)prod;
- imprimeRegistroProducto(arch,producto[0]);
-}
+ out << "Codigo Descripcion Precio Stock\n";
+ for (int i = 0; ps[i]; i++) {
+ void ** p2 = (void **) ps[i];
+ void ** p1 = (void **) p2[0];
+ char * code = (char *) p1[0];
+ char * desc = (char *) p1[1];
+ double * price = (double *) p1[2];
+ int * stock = (int *) p1[3];
-void imprimeRegistroProducto(ostream &arch,void *prod){
- void **producto = (void**)prod;
- char *cod = (char*)producto[COD],*nom = (char*)producto[NOM];
- double *precio = (double*)producto[PRECIO];
- int *stock = (int*)producto[STOCK];
- arch<<left<<setw(10)<<cod<<setw(70)<<nom<<right<<setw(10)<<*precio<<setw(9)<<*stock<<endl;
-}
+ out << left;
+ out << setw(12) << code;
+ out << setw(64) << desc;
+ out << right << fixed << setprecision(2);
+ out << setw(12) << *price;
+ out << setw(12) << *stock;
+ out << '\n';
+ }
+} \ No newline at end of file
diff --git a/2023-2/E1/mitsuo/p2/fun.hpp b/2023-2/E1/mitsuo/p2/fun.hpp
index 70f4b3f..c1ea51a 100644
--- a/2023-2/E1/mitsuo/p2/fun.hpp
+++ b/2023-2/E1/mitsuo/p2/fun.hpp
@@ -3,19 +3,13 @@
#include <iostream>
-#define MAX 1000
#define MAXLEN 100
#define INCREMENTO 5
-void cargarProductos(void *&prod, const char *nombArch);
-void aumentaEspacios(void**&productos, int &nd, int &cap);
-char *leeCad(std::istream &arch, char delim);
-void guardaProd(std::istream &arch, void *&prod, char *cod);
-void *creaRegProd(std::istream &arch, char *cod);
-int cmpProducto(const void *a, const void *b);
-void pruebaDeCargaDeProductos(void *prod);
-void imprimeLinea(std::ostream &arch,char c);
-void imprimeProducto(std::ostream &arch,void *prod);
-void imprimeRegistroProducto(std::ostream &arch,void *prod);
+void cargarProductos(void *& productos, const char * archivo);
+void pruebaDeCargaDeProductos(void * productos);
+
+int cmp_productos(const void *lhs, const void *rhs);
+void increase_size_productos(void **& ps, size_t &size);
#endif /* FUN_HPP */ \ No newline at end of file
diff --git a/2023-2/E1/mitsuo/p2/main.cpp b/2023-2/E1/mitsuo/p2/main.cpp
index caf1fe7..aafff14 100644
--- a/2023-2/E1/mitsuo/p2/main.cpp
+++ b/2023-2/E1/mitsuo/p2/main.cpp
@@ -1,7 +1,8 @@
#include "fun.hpp"
int main(int argc, char** argv) {
- void *productos;
+ void * productos;
+
cargarProductos(productos, "../../Productos.csv");
pruebaDeCargaDeProductos(productos);
return 0;