Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Podział zbioru liczb na podzbiory o maksymalnej sumie wartości

Idź do strony Poprzedni  1, 2, 3 ... 14, 15, 16

 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Algorytmy + inżynieria oprogramowania
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8311
Skąd: Toruń

PostWysłany: Sro Mar 14, 2018 12:14 pm      Temat postu: Odpowiedz z cytatem Pisownia

Cytat:
Ja mam problem z importowaniem danych (żadne dane nie chcą się zainportować).

A jak ten "import" robisz? Bo ja nie robiłem w programie żadnej funkcji do importu, na przykład z pliku csv.
Dane trzeba wpisać do pola tekstowego, a ich format jest opisany w pomocy.

Cytat:
Nie mogę wpisać w innych jednostkach (chociaż mm mi nie przeszkadzają).

Można, tylko trzeba wiedzieć, jak. To też jest opisane w pomocy. Co prawda pomoc nie jest zbyt robudowana, ale na ten temat są dwa zdania.
Przykładowy plik tekstowy z wpisanymi danymi:
540;	2;m
550; 13
650;4
1034; 4
1407; 14
1857,45; 2
4235; 2

Poniżej jest tekst instrukcji z pomocy programu, jak te dane wpisywać.
...
W pierwszej kolumnie podaje się długość.W drugiej podaje sie ilość sztuk.W wierszach dane są oddzielone od siebie średnikami.

W pierwszym wierszu można za drugą kolumną dodać jednostkę długości. Oddziela sie ją średnikiem od ilości sztuk.
Dopuszczalne jednostki to "mm" ,"cm" albo "m". Przy braku jednostki program domyślnie ustawi jednostkę jako milimetry.

W wierszach po średniku za pierwszą kolumną może zostać puste miejsce, program je pominie
Jeśli dane nie będą zgodne z tym opisem, to program powinien pokazać komunikat o złym formmacie danych.
Jeśli format danych będzie prawidłowy, to zostaną one wstawione do górnego pola tekstowego, jako cięg liczb oddzielonych przecinkami.

Na czerwono zaznaczyłem informacje na temat stosowania jednostek. Czy coś tu jest nie jasne?

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
hurgadion



Dołączył: 06 Kwi 2011
Posty: 853
Skąd: Web :)

PostWysłany: Wto Maj 01, 2018 1:18 pm      Temat postu: Odpowiedz z cytatem Pisownia

może kogoś zainteresuje takie podejście do problemu pakowania, kod w Pythonie, dla 400 elementów działa szybko... w Excelu chyba miałem problemy...
Kod:

N=12000
L = 4*[1253]+4*[1323]+4*[1323]+2*[1507]+4*[1578]+8*[620]+8*[624]+4*[630]
L += 8*[640]+8*[644]+44*[650]+40*[654]+20*[660]+4*[912]+4*[917]+8*[1100]
L += 16*[1246]+8*[1265]+16*[1272]+8*[1279]+4*[1283]+80*[1284]+40*[1285]
L += 8*[1290]+40*[1309]

import random

def rucksack(L, N):
    random.shuffle(L)
    if not L:
        return 0
    if max(L) == N:
        print(N)
    while 1:
        if max(L) > N:
            L.remove(max(L))
        else:
            break
    V={}
    V[L[0]]=([L[0]])
    for i in range(1, len(L)):
        x = L[i]
        z = list(V.keys())
        for k in z:
            if k + x == N:
                return (N, V[k]+[x])
            elif k + x < N:
                if not x + k in V.keys():
                    V[x+k] = V[k] + [x]
    z = max(V.keys())
    return (z, V[z])

while L:
    x =rucksack(L, N)
    print(x)
    for e in x[1]:
         L.remove(e)


________________________________________
Miłego Dnia... ^^

_________________
miasto nauki praktycznej
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora Numer GG
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Algorytmy + inżynieria oprogramowania Wszystkie czasy w strefie CET (Europa)
Idź do strony Poprzedni  1, 2, 3 ... 14, 15, 16
Strona 16 z 16

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.17353 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |