Witam. Programowania lizałem jedynie trochę w gimnazjum, ale to dawno temu i .. nie prawda :D. Oglądałem pobieżnie filmiki P. Mirosława na YT, jednak one nie są w stanie mi pomóc - bo o ile rozumiem o co w nich chodzi to z moją wiedzą nie jestem w stanie przełożył tego na swój problem. Do rzeczy. Codziennie muszę ręcznie liczyć pewną rzecz w pracy, na którą tracę czas, bo robię to metodą prób i błędów ( z czasem idzie to sprawniej, ale i tak to syzyfowa praca ). Najłatwiej będzie mi to opisać łopatologicznie, co będzie poniżej, a następnie postaram się niejako rozpisać to jako algorytm ( co pamiętam, że Pani od programowania mówiła, że zawsze trzeba zrobić przed przystąpieniem do pisania właściwego programu :D ), więc do rzeczy.
Mam powierzchnie ( w dalszej części nazywaną "wałkiem" ) o długości 900 cm. Dostaję wymiary ( w dalszej części nazywane "kołami" ) które na tej powierzchni muszę rozplanować tak aby wykorzystać jak tę powierzchnie najlepiej. Czyli na wałek zagospodarować koła. Mam nadzieje, że w miarę rozumiecie. Koła mają różne wymiary oraz na dane zamówienie przypada różna liczba tych kół. Przykładowo:
- Koło o wymiarach 150 w ilości 4
- Koło o wymiarach 50 w ilości 4
- Koło o wymiarach 100 w ilości 1
Jest to stworzony przykład specjalnie pod to, bo w głowię można policzyć, że koła idealnie zmieszczą się na wałku, mianowicie:
150x4 + 50x4 + 100x1 = 900
Zazwyczaj jednak zdarza się tak, że mam kilka, nawet do 10 rozmiarów kół w różnych ilościach. Sprawa z powyższego przykładu kompletnie by się skomplikowała gdyby było przykładowo 10 kół "100". Wtedy muszę już kombinować, i robić dwa wałki ( czego i z programem nie uniknę, ale wtedy on zrobi to za mnie - nie będę kombinował ).
Mam nadzieje, że ktoś zrozumie o co mi chodzi. Teraz ten algorytm, który ja widzę tak.
- Użytkownik podaje długość wałka.
- Użytkownik podaje wymiary oraz ilość kół
- Program dodaje do siebie wymiary kół, biorąc pod uwagę ich ilość
ad.3 Tutaj znów posłużę się przykładem, bo tak najłatwiej. Wałek ma 900. Ja mam dwa wymiary kół: 500, których potrzeba mi 10, koło 40 w ilości 100 oraz, koło o wymiarze 450, których potrzeba mi 4. Tutaj też prosty przykład, aby to rozumieć. No najłatwiej zrobić dwa wałki, w wymiarach 500 oraz 40, dlaczego?
500x1 + 40x10 = 900 - idealnie, a do tego ta rzecz, którą mi najtrudniej wytłumaczyć. Ilość kół pasuje idealnie. Dlaczego? Zrobię 10 takich wałków i oba rozmaiary będą gotowe. Nic więcej nic mniej. 10 wałków na każdym jeden rozmiar 500, da mi 10 kół w rozmiarze 500 oraz obok tych "pięćsetek" na każdym z tych 10 wałków będzie 10 kół rozmiaru 40 co daje nam razem 100 kół. No a drugi wałek wiadomo 2x450. Czy ktokolwiek mnie zrozumiał ? Bo prawdę mówiąc, mimo tego, że nie dużo wiem o programowaniu, jestem w stanie z powodu tej męczarni w pracy ogarnąć to, gdyby tylko ktoś mi powiedział, że rozumie o co mi chodzi, i jest w jakimś stopniu chociaż pomóc, poprowadzić. Absolutnie od nikogo nie wymagam linijki kodu.