jthyge Mester
01. november 2018 - 17:08 Der er 6 kommentarer og
1 løsning

Fordele forskellige emner efter vægt, så sum bliver inden for en tolerance?

Hej

Jeg har en skoleopgave, hvor jeg skal lavet et program, der kommer emner af 125-225g i 4 poser, hver pose skal ende med at veje 2000-2050g.

Jeg kan fint få emner i poserne, og ramme vægten nogenlunde ved hjælp af nogle IF sætninger.

Men jeg kan ikke regne ud, hvordan jeg sikre mig at posen altid ender med en vægt på 2000-2050g.

Ledetråde modtaget gerne, så jeg kan arbejde mig hen mod en god løsning... :-)

/PS jeg arbejder i Struktureret Tekst, som minder meget om C++.
bertelbrander Praktikant
02. november 2018 - 01:52 #1
Put emner i alle 4 poser, til de i gennemsnit har mellem 2000 og 2050 gram hver.
Nu vil der så være nogle poser der vejer for meget, og nogle der vejer for lidt. Tag derpå et emne fra en pose der vejer for meget, og byt det med et emne i en der vejer for lidt, på en sådan måde, at de begge kommer tættere på idealvægten. Dvs tag en tung ting fra den der vejer for meget, og byt med et lettere emne fra den pose der vejede for lidt.
Fortsæt indtil alle poser har emner med passende vægt.
claes57 Ekspert
02. november 2018 - 10:32 #2
evt start med at sortere alle dimser efter vægt, og placer den tungeste i pose1, derefter  arbejd ned gemmen dimse-rækken skiftevis i poserne (2341234 osv) - hvis en posevægt overstiger 2050g, så springes den over i resten af uddelingen.
derefter bytte jf #1
jthyge Mester
02. november 2018 - 16:08 #3
Jeg kan se at jeg mangler lidt oplysninger i mit spørgsmål.

Emnerne kommer kørende på et bånd, hvor de bliver vejet.
Derefter kører de forbi 4 udskubbere, der skal fordele dem i poserne. Når en pose når 2000-2050 g, kommer det en ny pose på.

Det er altså ikke muligt at tage emner op af poserne, eller veje dem på forhånd.
Man kender kun vægten på det emne der er på båndet.

Måden jeg har løst det på indtil vider, er at jeg kommer emner i posen indtil den den vejer max 1875g, og så skal næste emne veje under 175g. Så kommer det til at passe i det fleste tilfælde. Bare ikke de tilfælde hvor den lander for langt under de 1875 i førsten omgang, så når den ikke minimum vægt.

Men det er jo ikke helt godt nok. Jeg skal nok finde en anden måde at gribe det an på.
Hans Mester
02. november 2018 - 22:34 #4
Inden du putter emnet i posen, så sikrer du dig at det 1) opfylder posekravet eller 2) der som minimum er plads (125 + x) til et emne mere. Hvis hverken 1 eller 2 opfyldes, så spring emnet over.
bertelbrander Praktikant
03. november 2018 - 00:34 #5
Jeg er ret enig med Hans, fyld en pose indtil der mangler netop et emne. Men jeg tror du skal have forskellige grænser, for forskellige poser. fx (125 + x) for den første (175 + x) for den næste, osv.
Gad vide om der er en løsning der vil garantere at det altid vil gå op.
jthyge Mester
03. november 2018 - 08:45 #6
Hej igen..
Tak for jeres svar.
Jeg tror jeg har løst det, stort set på samme måde som Hans foreslår.
Der må fyldes emner i til en grænse, hvorefter posevægt + emne vægt skal ramme inden for 2000-2050g
Hans Mester
03. november 2018 - 08:48 #7
Jeg har testet fremgangsmåden. Jeg rammer 95% effektivitet. Dvs. 5% af emnerne ruller videre forbi alle 4 poser.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Test: Apples nye iPhone er bygget til fart og stil: Så gode er iPhone 12 og iPhone 12 Pro
Computerworld tester: IPhone 12 og iPhone 12 Pro er bygget til fart og til at se godt ud. Varen leveres stilsikkert, men noget er overset i farten.
Computerworld
Salling Group lukker stor online-satsning efter kun et år
Millionsatsningen Fillop lukker ved årets udgang. I stedet er supermarkeds-giganten Salling Group nu på vej med en række helt nye online-satsninger, der er affødt af coronakrisen.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
Minimér risikoen for kritiske GDPR-overtrædelser med Vulnerability Management
Selv mere end to år efter indførelsen af GDPR kræver det en målrettet og vedvarende indsats at overholde og blive ved med at overholde persondataforordningen. Det kan omvendt blive særdeles kostbart – og skade anseelse hos kunder og samarbejdspartnere – hvis man ikke yder denne indsats. Det er imidlertid klogt at løbende at målrette indsatsen effektivt. Dels ved at vurderer systemer løbende for sårbarhede samt at prioritere håndteringen af sårbarheder i forhold til risikoniveau. Hvilket er lettere sagt end gjort. I denne hvidbog kan du læse mere om, hvordan du griber GDPR-indsatsen effektivt an med Vulnerability Management.