Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem komiwojażera.

Ostatnio zmodyfikowano 2017-06-02 15:30
Autor Wiadomość
JakubD
Temat założony przez niniejszego użytkownika
Problem komiwojażera.
» 2017-06-02 09:36:22
Dzień dobry. Jestem studentem pierwszego roku informatyki, programowania nie mieliśmy w ogóle a nagle dostaliśmy za zadanie coś takiego:

Algorytm symulowanego wyżarzania dla problemu komiwojażera
 
1. Cel ćwiczenia
 
Celem ćwiczenia jest nauka implementacji algorytmów symulowanego wyżarzania. Algorytm należy zaimplementować w języku C++. Algorytm będzie rozwiązywał problem komiwojażera.
 
2. Dane wejściowe
 
Algorytm będzie czytał dane ze standardowego wejścia w następującym formacie:
 
n
c(1,1) c(1,2) ... c(1,n)
c(2,1) c(2,2) ... c(2,n)

c(n,1) c(n,2) ... c(n,n)

Aktualnie mam problem po wczytaniu danych z pliku, wczytuje mi je jako asci. Żeby pojedynczą cyfrę zamienić, skopiowałbym ja do zmiennej int i odjął 48 a jeśli chodzi o podwójną, to nie wiem..
P-161966
Anim
» 2017-06-02 10:03:49
Ja dam Tobie jedną radę - zmień uczelnię. Jeżeli przez rok studiów (bo teraz kończysz pierwszy rok studiów, albo coś kręcisz) na informatyce nie miałeś żadnego programowania, to ktoś ewidentnie Cie okrada :)

Ja też kończę drugi semestr Informatyki i mam za sobą 4-5 przedmiotów, na których należało napisać kilka projektów.

Co do problemu komiwojażera. Czy wejście nie będzie u Ciebie przypadkiem czytane z strumienia wejściowego? a nie bezpośrednio z pliku? Tz. czy przypadkiem nie będziesz miał danych na zasadzie jak na SPOJu?... a druga kwestia: poczytaj o tym problemie albo na algorytmy.org, albo na eduinf.waw

Swoją drogą...jak rozwiążesz problem komiwojażera to firmy na całym świecie Cię ozłocą ^^

A już na serio, wracając do Twojego problemu. Jeżeli jest faktycznie tak jak mówisz, że nigdy nic nie programowałeś, to słabo widzę Twoją szansę na napisanie tego programu w sposób dostatecznie dobry.

Jeśli na wejściu masz dwie dane:
numer wierzchołka i sąsiad, oraz waga krawędzi (zgadza się?), to stwórz macierz sąsiedztwa, i macierz wag krawędzi. I zapisuj po kolei raz do jednego, a raz do drugiego :) i tyle. Tak czy inaczej musisz to zapisywać do dużego bufora pamięci, przydzielanego dynamicznie. Bo nie możesz działać na bieżąco, tylko musisz mieć wszystkie dane przed przystąpieniem do rozwiązania.
P-161968
JakubD
Temat założony przez niniejszego użytkownika
ojoj
» 2017-06-02 10:17:08
Jest niby napisane, że ze standardowego wejścia, ale czy to nie oznacza Także pliku, zdaje mi się, że mówił o pliku z danymi.
P-161969
JakubD
Temat założony przez niniejszego użytkownika
no to dół
» 2017-06-02 10:22:38
kolejne zadanie, dostaliśmy łatwiejsze, problem komiwojażera ale genetycznie lub algorytmem wstaw..
P-161970
Anim
» 2017-06-02 10:26:53
czyli jeśli ze standardowego wejścia, czyli korzystasz z metod:

albo cin oraz getline, i potem cout,
lub scanf() oraz fgets() i potem printf.

Plik będzie miał stworzony wykładowca, albo będzie podawał dane z ręki, ale Ciebie to nie interesuje. Dla Ciebie ważne są metody, które podałem wyżej.

Aczkolwiek sposób wczytywania danych to jest najmniejszy problem w tym przypadku :)
P-161972
JakubD
Temat założony przez niniejszego użytkownika
Macież sąsiedztwa?
» 2017-06-02 10:32:11
To taka jednowymiarowa tablica do której wpiszę kolejne miasta?
P-161973
Anim
» 2017-06-02 10:33:14
Coś mi się zdaje, że ten temat wyląduje w koszu :(

Powiedz w takim razie z czym masz problem? Rozumiem, że problem komiwojażera jest jasny? Niestety gotowca nikt Tobie nie napisze (zresztą takowe latają po internecie w wielu różnych egzemplarzach). A co do poziomu znajomości przez Ciebie C++: jak w miarę umiesz programować - powiedzmy 10 lekcji z tej strony jest dla Ciebie jasnych i do tego znasz klasę vector i narzędzia STL, to masz wszystkie narzędzia, żeby zrobić to zadanie.
P-161974
JakubD
Temat założony przez niniejszego użytkownika
» 2017-06-02 10:43:04
Najgorsze jest to, że ja nie chcę kupować gotowca.Na tej stronie zrobiłem pierwsze 2 poziomy kursu. Nie znam tego o czym piszesz. Chwilowy problem zamiana tych wczytanych danych na inny a później poszukam innych problemów;).
P-161975
« 1 » 2
  Strona 1 z 2 Następna strona