diff options
| author | Mitsuo Tokumori <[email protected]> | 2023-10-20 07:20:44 -0500 |
|---|---|---|
| committer | Mitsuo Tokumori <[email protected]> | 2023-10-20 07:20:44 -0500 |
| commit | fba9c34c547c99d56b4bf2d83caf5c68a638107f (patch) | |
| tree | 42cb8c21174fee337b0b09dc6da653712005b2a1 /2023-2/E1/mitsuo/p1 | |
| parent | 70f96dbce2085d29de6ade90222ae2289cebe4e7 (diff) | |
| download | LP1-fba9c34c547c99d56b4bf2d83caf5c68a638107f.tar.gz LP1-fba9c34c547c99d56b4bf2d83caf5c68a638107f.tar.bz2 LP1-fba9c34c547c99d56b4bf2d83caf5c68a638107f.zip | |
Add p1 and p2 solution for 2023-2 E1
Diffstat (limited to '2023-2/E1/mitsuo/p1')
| -rw-r--r-- | 2023-2/E1/mitsuo/p1/PruebaPedidos.txt | 566 | ||||
| -rw-r--r-- | 2023-2/E1/mitsuo/p1/fun.cpp | 151 | ||||
| -rw-r--r-- | 2023-2/E1/mitsuo/p1/fun.hpp | 19 | ||||
| -rw-r--r-- | 2023-2/E1/mitsuo/p1/main.cpp | 9 |
4 files changed, 745 insertions, 0 deletions
diff --git a/2023-2/E1/mitsuo/p1/PruebaPedidos.txt b/2023-2/E1/mitsuo/p1/PruebaPedidos.txt new file mode 100644 index 0000000..9a019f8 --- /dev/null +++ b/2023-2/E1/mitsuo/p1/PruebaPedidos.txt @@ -0,0 +1,566 @@ + 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 diff --git a/2023-2/E1/mitsuo/p1/fun.cpp b/2023-2/E1/mitsuo/p1/fun.cpp new file mode 100644 index 0000000..8eaccbe --- /dev/null +++ b/2023-2/E1/mitsuo/p1/fun.cpp @@ -0,0 +1,151 @@ +#include <iostream> +#include <fstream> +#include <iomanip> +#include <cstring> + +#include "fun.hpp" + +#define INCREMENTO 5 + +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; + 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(); + } + qSort(fechaClienteCantidad, codigoDelProducto, 0, nd-2); +} + +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 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; + } + 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; + } +} + +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; +} + +int leeFecha(istream &arch){ + int dd,mm,aa; + char c; + arch>>dd>>c>>mm>>c>>aa; + return dd+mm*100+aa*10000; +} + +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]); + } + } + 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; +} + +bool desorden(int *fechaClienteCantidadI, int *fechaClienteCantidadK){ + return fechaClienteCantidadI[0] < fechaClienteCantidadK[0]; +} + +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; + 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]); + } +} + +void imprimeLinea(ostream &arch,char c){ + for(int i=0;i<58;i++) arch<<c; + arch<<endl; +} + +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 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 new file mode 100644 index 0000000..57c2318 --- /dev/null +++ b/2023-2/E1/mitsuo/p1/fun.hpp @@ -0,0 +1,19 @@ +#ifndef FUN_HPP +#define FUN_HPP + +#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); + +#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 new file mode 100644 index 0000000..e762539 --- /dev/null +++ b/2023-2/E1/mitsuo/p1/main.cpp @@ -0,0 +1,9 @@ +#include "fun.hpp" + +int main(int argc, char** argv) { + char **codigoDelProducto; + int **fechaClienteCantidad; + cargarPedidos(fechaClienteCantidad, codigoDelProducto, "../../Pedidos.csv"); + pruebaDeCargaDePedidos(fechaClienteCantidad, codigoDelProducto, "PruebaPedidos.txt"); + return 0; +}
\ No newline at end of file |
