daysleper
-
Innlegg
296 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av daysleper
-
-
Ja, dette:
Seats::Person person1;person1.name("Lise");
person1.addWish(1, 1); // priority, seat number
person1.addWish(2, 2);
person1.addWish(3, 3);
seats.addPerson(person1);
Seats::Person person2;
person2.name("Ole");
person2.addWish(1, 2); // priority, seat number
person2.addWish(2, 4);
person2.addWish(3, 1);
seats.addPerson(person2);
Seats::Person person3;
person3.name("Per");
person3.addWish(1, 3); // priority, seat number
person3.addWish(2, 4);
person3.addWish(3, 2);
seats.addPerson(person3);
Seats::Person person4;
person4.name("Anja");
person4.addWish(1, 2); // priority, seat number
person4.addWish(2, 3);
person4.addWish(3, 1);
seats.addPerson(person4);
Gir denne output'en:
Lise is finding a place to sit.Lise sits down at seat number 1, which for him/her is a priority 1 seat.
Ole is finding a place to sit.
Ole sits down at seat number 2, which for him/her is a priority 1 seat.
Per is finding a place to sit.
Per sits down at seat number 3, which for him/her is a priority 1 seat.
Anja is finding a place to sit.
Placements
----------
Seat number: 1 -- Lise
Seat number: 2 -- Ole
Seat number: 3 -- Per
Remaining
---------
Anja did not get any of the seats that he/she wished for.
Stakkars Anja blir m.a.o. stående igjen når Ole i stedet kunne satt seg på plass 4 (hans 2. valg) og Anja fått hans plass 2 (hennes 1. valg) altså?
Jeg sa jeg var treg i hue noen ganger.
Se om jeg kan legge til noe som bytter litt om her da ..
-
Skal sette meg inn i det dere foreslo, har bare ikke hatt tid til å gjøre det enda (og hva gjør jeg med .java-programmer? Kan de kjøres i feks en nettleser?).
Java
Du må ha Java runtime og en Java kompiler installert. ( http://java.sun.com/j2se/downloads.html SDK-kolonnen altså! )
Du trenger ikke den pakken som inkluderer Netbeans.
For å kompilere
Få frem en kommandolinje og skriv:
javac InputGen.java
..og ut kommer en InputGen.class -fil.
For å kjøre
java InputGen
C++
Du trenger en C++ kompiler: http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe?download
Denne er for Windows, hos Linux er det allerede installert en tilsvarende kompiler.
I hovedsak er det ganske likt det å kompilere Java-kode:
Kompilere
Få frem en kommandolinje og skriv:
g++ findseats.cpp -o findseats
..og ut kommer en findseats.exe -fil.
Kjøre
findseats
Flere detaljer
Windows: http://nostdal.net/forum/viewtopic.php?p=154#154
Linux: http://nostdal.net/forum/viewtopic.php?p=155#155
FAQ'en for C++ her på sourcecode.no er "føkka" (forum-bytte) - derfor jeg linker til en backup.
-
Her er Eks. 3's input (nå i form av C++ -kode, men kunne godt vært en simpel .txt-fil som leses inn):
Seats::Person person1;person1.name("Lars");
person1.addWish(1, 1); // priority, seat number
person1.addWish(2, 2);
person1.addWish(3, 3);
seats.addPerson(person1);
Seats::Person person2;
person2.name("Kari");
person2.addWish(1, 2); // priority, seat number
person2.addWish(2, 2);
person2.addWish(3, 1);
seats.addPerson(person2);
Seats::Person person3;
person3.name("Per");
person3.addWish(1, 3); // priority, seat number
person3.addWish(2, 1);
person3.addWish(3, 2);
seats.addPerson(person3);
Seats::Person person4;
person4.name("Lise");
person4.addWish(1, 4); // priority, seat number
person4.addWish(2, 2);
person4.addWish(3, 3);
seats.addPerson(person4);
Seats::Person person5;
person5.name("Ola");
person5.addWish(1, 5); // priority, seat number
person5.addWish(2, 2);
person5.addWish(3, 3);
seats.addPerson(person5);
Seats::Person person6;
person6.name("Anja");
person6.addWish(1, 1); // priority, seat number
person6.addWish(2, 6);
person6.addWish(3, 3);
seats.addPerson(person6);
Seats::Person person7;
person7.name("Kjetil");
person7.addWish(1, 2); // priority, seat number
person7.addWish(2, 7);
person7.addWish(3, 1);
seats.addPerson(person7);
Seats::Person person8;
person8.name("Nils");
person8.addWish(1, 3); // priority, seat number
person8.addWish(2, 8);
person8.addWish(3, 2);
seats.addPerson(person8);
Seats::Person person9;
person9.name("Kine");
person9.addWish(1, 4); // priority, seat number
person9.addWish(2, 6);
person9.addWish(3, 9);
seats.addPerson(person9);
Seats::Person person10;
person10.name("Bjarne");
person10.addWish(1, 5); // priority, seat number
person10.addWish(2, 7);
person10.addWish(3, 9);
person10.addWish(4, 10);
seats.addPerson(person10);
Her er Eks 3's output:
Lars is finding a place to sit.Lars sits down at seat number 1, which for him/her is a priority 1 seat.
Kari is finding a place to sit.
Kari sits down at seat number 2, which for him/her is a priority 1 seat.
Per is finding a place to sit.
Per sits down at seat number 3, which for him/her is a priority 1 seat.
Lise is finding a place to sit.
Lise sits down at seat number 4, which for him/her is a priority 1 seat.
Ola is finding a place to sit.
Ola sits down at seat number 5, which for him/her is a priority 1 seat.
Anja is finding a place to sit.
Anja sits down at seat number 6, which for him/her is a priority 2 seat.
Kjetil is finding a place to sit.
Kjetil sits down at seat number 7, which for him/her is a priority 2 seat.
Nils is finding a place to sit.
Nils sits down at seat number 8, which for him/her is a priority 2 seat.
Kine is finding a place to sit.
Kine sits down at seat number 9, which for him/her is a priority 3 seat.
Bjarne is finding a place to sit.
Bjarne sits down at seat number 10, which for him/her is a priority 4 seat.
Placements
----------
Seat number: 1 -- Lars
Seat number: 2 -- Kari
Seat number: 3 -- Per
Seat number: 4 -- Lise
Seat number: 5 -- Ola
Seat number: 6 -- Anja
Seat number: 7 -- Kjetil
Seat number: 8 -- Nils
Seat number: 9 -- Kine
Seat number: 10 -- Bjarne
Remaining
---------
Hvis jeg bytter om rekkefølgen jeg legger til personer får jeg seff. samme output.
-
Algoritmen min sikkrer at så mange som mulig får høyest mulig tilgjengelige prioriterte valg.
Tror ikke man på noen måte kan være uheldig med input som du sier: -Den skal gjøre det samme som i eksemplene under uansett:
Eks1:
10 personer med første prioritert på 10 forskjellige seter --> 10 får sitt første ønske.
0 resterende personer.
10 fikk første valg.
Eks2:
10 personer med første prioritet på 5 forskjellige seter --> 5 får sitt første valg.
5 resterende personer.
5 personer med andre prioritet på 5 forskjellige seter --> 5 får sitt andre valg.
0 resterende personer.
5 fikk første valg, 5 fikk andre valg.
Eks3:
10 personer med første prioritet på 5 forskjellige seter --> 5 får sitt første valg.
5 resterende personer.
5 personer med andre prioritet på 3 forskjellige seter --> 3 får sitt andre valg.
2 resterende personer.
2 personer med tredje prioritet på 1. sete --> 1 får sitt tredje valg.
1 resterende person.
1 person med fjerde prioritet på 1. sete --> 1 får sitt fjerde valg.
0 resterende personer.
5 fikk første valg, 3 fikk andre valg, 1 fikk tredje valg og 1 fikk fjerde valg.
Jeg ser ingen annen måte som kan være mer rettferdig enn dette .. Jeg er treg i hue noen ganger - så si fra.
Hva hvis vi tar en liten test? -- Vi tar begge algoritmene våre og gir dem samme datafil som input for så å se hva de gjør ut av det? Eller 3 datafiler kanskje? En liten, en mellomstor og en stor?
Kunne du generert noe data med den Java-snutten din og lagt en link her?
Så legger vi begge ut resultat av output fra algoritmene våre?
-
Start med selve språket C eller C++.
Jeg foreslår egentlig C++ i stedet for C. Det er lurere å begynne med C++ med en gang hvis du alikevell har tenkt å programmere i C++ siden. (helt sannt!)
Glem med andre ord socket-programmering og Windows-spesifik programmering foreløpig.
Ta en titt i FAQ'en ang. bøker for nybegynnere.
Mulig linkene og andre ting i FAQ'en er litt føkka nå som vi har skiftet forum, men ordner seg vel ..
-
Legger ut noen eksekverbare filer av programmet:
-
Bruker som regel en vanlig teksteditor og skriver inn assembler-kode.
Kjører så assembler-koden i gjennom en assembler-compiler som f.eks. "nasm".
Man kan også skrive assembler kode direkte inn i "mellom" f.eks. C eller C++ kode.
-
Jævla forbanna kjøtthuer! Dere bryr dere om sånnt småtteri -- JEG har ikke fått drekkt på 2 uker! DÉT er helvette det! arrrghhgghh!! *ut å slå i stykker ett eller annet i blindt raseri*
-
http://scm.nostdal.net/cgi-bin/viewcvs.cgi/tests/?root=tests (ta en titt på findseats.cpp)
Slang sammen noe i farta her. Mulig jeg har misforstått ting og tang, for jeg leste bare kjappt igjennom innlegget ditt.
Programmet er forøvrig skrevet i C++.
Når programmet kjøres får jeg denne utskriften:
Lars is finding a place to sit.Lars sits down at seat number 1, which for him/her is a priority 1 seat.
Kari is finding a place to sit.
Kari sits down at seat number 2, which for him/her is a priority 2 seat.
Per is finding a place to sit.
Per sits down at seat number 3, which for him/her is a priority 3 seat.
Lise is finding a place to sit.
Placements
----------
Seat number: 1 -- Lars
Seat number: 2 -- Kari
Seat number: 3 -- Per
Remaining
---------
Lise did not get any of the seats that he/she wished for.
Kan prøve å forklare åssen jeg har tenkt.
Jeg har her kun tatt hensyn til at hvert "sted" er et sete med kun plass til én person, men det er ikke noe i veien for å endre på dette.
Når alle personene og deres prioriteringer av seter i problemet er lagt til, kalles Seats::sit() -metoden.
Den finner det setet som har høyest mulig prioritet hos hver person og sjekker om det er tilgjengelig. Hvis det er tilgjengelig "setter" personen seg og koden hopper videre til neste person. Hvis det ikke er tilgjengelig sjekker metoden om setet på 2. prioritet er ledig - osv.
Seats::showPlacements() viser hvor alle har satt seg.
De som ikke har fått noen av sine ønskede sitteplasser har ennå ikke satt seg. Hva skal vi gjøre med disse? Be dem sette seg på et tilfeldig, ledig sete etter de andre har satt seg?
Du sjekker om noen ikke har fått noen av sine ønsker med Seats::showRemaining() metoden.
..som sagt er det mulig jeg har misforstått alt, og det kan hende det er noen "bug(g)s" her. Har ikke testet koden så alt for mye ennå.
-
Det er allerede installert når du bruker Windows.
-
Hva med en kategori/forum under Programmering for "Jobb/Oppdrag"?
Tenker på alle typer oppdrag/jobber innen programmering/utvikling, både de man får betalt for og de man ikke får betalt for.
-
Synes det bør gå å redigere sine egne poster uansett hvor lenge siden det er man postet dem.
-
Vet du om det er meningen at det skal fortsette å være slik?
(jeg synes ikke det bør være slik)
-
Det virker som om det er en tidsbegrensing - noe som gjør at FAQ-tråder og poster som må vedlikeholdes blir umulige å vedlikeholde.
Håper det ikke skal være slik?
-
Bruk en versjon av wget (ett GNU/Linux program) portet til Win32.
Dette "mellomlagrer" ikke noe sted.
ftp://ftp.sunsite.dk/projects/wget/windows/ssllibs097c.zip -- noen .dll -filer wget bruker (legg dem et sted windows finner dem (i pathen altså))
ftp://ftp.sunsite.dk/projects/wget/windows/wget-1.9b.zip -- wget binaryen.
Start wget fra kommandolinjen. wget --help for info.
Generellt laster du ned slik:
D:\>wget -c -t0 http://www.server.com/minfil.zip-c gjør at den prøver å resume hvis deler av filen allerede er lastet ned.
-t0 gjør at den "retryer" eller prøver på nytt uendlig mange ganger hvis nedlastinger timer out.
..så slipper du å være redd for at en eller annen browser kræsjer og du må starte nedlastingen på nytt.
-
OpenGL. Fungerer både under Windows og Linux.
Quake 3 og mange andre spill bruker OpenGL.
-
Litt senere ..
Jeg har lastet ned ett svar som er så generellt at jeg ikke vet hva jeg skal spørre om.Jeg har prøvd alt.
Hva skal jeg gjøre?
Tja - du kan jo spørre han som svarte om flere detaljer da.
Ok. Som hva da?Nei - bare finn på noe. Lat som om du er den personen som skal svare på spørsmålet og svar på de spørsmålene du tror han hadde stillt.
Åh - OK, jeg tror jeg skjønner ...Det er bra.
-
Bare masse rot og et par halvferdige leketøy.
-
Tja - kanskje - men man bruker ikke programmer til å lage grafikkmoterer i spill f.eks. - man bruker et programmeringsspråk.
Uansett, det du mener er kanskje et program som Maya?
Maya er "fritt" nå, i hvertfall for "non commerical use": http://www.alias.com/eng/index.shtml
Til linux finnes Blender: http://www.blender3d.com/
Eller kanskje Pov-Ray: http://www.povray.org/ -- som finnes for både Linux og Windows.
Jeg vet ikke om disse er bra eller ikke - jeg er bare en "code-monkey".
-
Ikke C eller C++ i hvertfall, som er språk - ikke et program.
-
Bare sånn at jeg er sikker på at jeg eller noe andre ikke missforstår:
Angående moderator-rettigheter litt ovenfor her så mente (i hvertfall) jeg at prosjekt-lederen, han/hun som startet prosjektet, hadde moderator-rettigheter for sitt egne prosjekt-forum og kun det. Ikke for alle programmerings-forumene som en helhet altså .. :o
Hvis dette er teknisk mulig er dette en fordel for de som skal bruke forumet som et slags "Content Management System" for prosjektet sitt og omrokkere og eventuellt prioriterte poster og hva nå ikke.
Noe sånnt som dette: http://nostdal.net/forum/viewforum.php?f=2 (gammelt innhold som trenger oppdatering riktig nok ..)
Kanskje vi får i gang et skikkelig norskt programmerings-samfunn her etter hvert i tillegg til forumet. Ikke bare en sammling med RSS-feeds og generelle nyheter (som er det de fleste "vanlige" sider er), men et sted der det faktisk skjer noe - et sted det skrives om i nyheter altså.
-
Jeg kom på, i mine øyne, en kjempe god idé for struktur her:
Slik som invictus sa nesten:
Programmering
- Språk
-- C++
-- Delphi
-- C#
-- osv
- Emne
-- Multimedia
-- Nettverk
-- Opengl
-- Directx
- Prosjekter
-- Prosjekt 1
-- Prosjekt 2
-- "Matrix" (et foreløpig navn på et prosjekt noen her på forumet jobber med)
-- osv.
Med moderator/administrator-rettigheter i hvert prosjekt-forum for hver prosjekt eier/eiere.
-
Det blir spennende med et nytt forum og jeg håper det går bra og at det viser seg å være en bra eller bedre forumløsning.
Det er vel stort sett det alle tenker.
Jeg er i grunn fornøyd med sånn som det er nå - så ingen store forandringer sånn ellers med tanke på struktur for min del i hvertfall.
Det eneste jeg savner er muligheten for at linker åpnes i samme vindu når man klikker på dem (kun linker som leder til andre poster i forumet altså) - men dette har jeg visst spurt om tidligere og fått klart "nei" som svar på. Så det blir kanskje ikke aktuellt.
Uansett - ser frem til nytt forum. 24. Okt. -- det er det da det skiftes?
-
1. Finn programvare som ligner og har de egenskapene du har lyst å ha i ditt eget program.
2. Finn ut hvilket språk de er skrevet i .. (noen her på sourcecode.no vet sikkert)
3. .. og lær dette språket!
Finn mange programmer som matcher og har de egenskaper du ser for deg at du vil ha i dine egne programmer.
Hvis du er heldig finner du en gruppe programmer som alle er skrevet i samme språk - blir lettere å velge da.
Geekfood! Yay!
i Programmering og webutvikling
Skrevet
Ser ut som om det er mange måter å gjøre det her på --
Jeg prøver meg med en algoritme der personer spør hverandre om de kan få plassen til en annen på grunnlag av hvor mye den personen som spør taper i "rettferdighet" hvis han/hun ikke får byttet, mot det han/hun som blir spurt taper i "rettferdighet" hvis han/hun velger å akseptere byttet.
De spør personene "under" hverandre igjen, rekursivt (hm, tror jeg) -- for så å rapportere tilbake til den som spurte på "toppen" om hvor mye han/hun og de under han/hun taper til sammen.
Rettferdighet måles i hvor mange prioriterte valg en person må gi slipp på for at andre skal få vilja si.
..mulig jeg misser noe her.. måtte bare få skrevet det ned og se om det ble klarere.
Kan hende dette blir noe som tar fryktlig lang tid, men jeg vil prøve meg på en algoritme som på en måte finner en "perfekt" løsning på en systematisk måte uten å måtte prøve alle kombinasjoner - hvis det er mulig.
Så var det å holde tungen bent i munnen ..